【Go语言入门150题】 L1-044 稳赢 (15 分) Go语言 | Golang
【摘要】
【题解】【PTA团体程序设计天梯赛】
L1-044 稳赢 (15 分) Go语言|Golang
大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:
现要求你编写一个稳赢不输的...
【题解】【PTA团体程序设计天梯赛】
L1-044 稳赢 (15 分) Go语言|Golang
大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:
现要求你编写一个稳赢不输的程序,根据对方的出招,给出对应的赢招。但是!为了不让对方输得太惨,你需要每隔K
次就让一个平局。
输入格式:
输入首先在第一行给出正整数K(≤10)
,即平局间隔的次数。随后每行给出对方的一次出招:ChuiZi
代表“锤子”
、JianDao
代表“剪刀”
、Bu
代表“布”
。End
代表输入结束
,这一行不要作为出招处理。
输出格式:
对每一个输入的出招,按要求输出稳赢或平局的招式。每招占一行。
输入样例1:
2
ChuiZi
JianDao
Bu
JianDao
Bu
ChuiZi
ChuiZi
End
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
结尾无空行
输出样例1:
Bu
ChuiZi
Bu
ChuiZi
JianDao
ChuiZi
Bu
- 1
- 2
- 3
- 4
- 5
- 6
- 7
结尾无空行
思路:
只需要用一个列表去存好这个对应的答案就好。然后再进行输出
代码如下:
package main
import (
"fmt"
)
func main() {
var num int
_,_=fmt.Scan(&num)
count := 0
var resultList []string
for {
var str string
_,_=fmt.Scan(&str)
if str == "End" { // 如果是End就直接退出了
break
}
if count==2 { // 如果count==2就说明这个是个平局,直接填入一个即可
count=-1
resultList = append(resultList, str)
}else{
if str=="ChuiZi" {
resultList = append(resultList, "Bu")
}else if str=="JianDao"{
resultList = append(resultList, "ChuiZi")
}else if str=="Bu"{
resultList = append(resultList, "JianDao")
}
}
count++
}
for i:=0;i<len(resultList);i++ {
if i == 0 {
fmt.Printf("%s",resultList[i])
}else{
fmt.Printf("\n%s",resultList[i])
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
文章来源: blog.csdn.net,作者:小生凡一,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/weixin_45304503/article/details/120363969
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)