大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:
现要求你编写一个稳赢不输的程序,根据对方的出招,给出对应的赢招。但是!为了不让对方输得太惨,你需要每隔K次就让一个平局。
输入格式:
输入首先在第一行给出正整数K(≤10),即平局间隔的次数。随后每行给出对方的一次出招:ChuiZi
代表“锤子”、JianDao
代表“剪刀”、Bu
代表“布”。End
代表输入结束,这一行不要作为出招处理。
输出格式:
对每一个输入的出招,按要求输出稳赢或平局的招式。每招占一行。
输入样例:
2
ChuiZi
JianDao
Bu
JianDao
Bu
ChuiZi
ChuiZi
End
输出样例:
Bu
ChuiZi
Bu
ChuiZi
JianDao
ChuiZi
Bu
参考代码:
//本题就是根据输出的剪刀石头或布,再来进行输出相对应的
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
int k=0;
scanf("%d",&k);
int count =0;//值得注意的就是有一个平局的时候
for(int i=0;;i++)
{
char n[10];
scanf("%s",n);
if(strcmp(n,"End")==0)
break;
if(count==k)//这里判断平局的时候我们用count计数是否等于k,若等于后再归零
{ //我们没用用到for循环中的i%k==0,因为起始必须i==0才能开始,但i=0当作分子时结果依然为0,防止麻烦。
puts(n);//我们用puts直接输出
count=0;
continue;
}
if(strcmp(n,"JianDao")==0)
printf("ChuiZi\n");
else if(strcmp(n,"ChuiZi")==0)
printf("Bu\n");
else if(strcmp(n,"Bu")==0)
printf("JianDao\n");
count++;
}
return 0;
}