L1-044 稳赢(简单c语言写法)

大家应该都会玩“锤子剪刀布”的游戏:两人同时给出手势,胜负规则如图所示:

 

现要求你编写一个稳赢不输的程序,根据对方的出招,给出对应的赢招。但是!为了不让对方输得太惨,你需要每隔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>
int main(){
	int n;
	scanf("%d",&n);
	getchar();
	char a[10000][100];
	int i,k,m;
	k=0;
	i=0;
	m=1;
	while(1){
		gets(a[i]);
		if(a[i][0]=='E')
			break;
		k=k+1;
		if(k==m*(n+1)){
			m=m+1;
		}
		if(a[i][0]=='C'){
			if(k!=(m-1)*(n+1))
			printf("Bu\n");
			else
			printf("ChuiZi\n");
		}
		else if(a[i][0]=='B'){
			if(k!=(m-1)*(n+1))
			printf("JianDao\n");
			else
			printf("Bu\n");
		}
		else if(a[i][0]=='J'){
			if(k!=(m-1)*(n+1))
			printf("ChuiZi\n");
			else
			printf("JianDao\n");
		}
		i=i+1;
	}
	return 0;
}

这里我们选用gets的方法整行输入字符串,但这里需要注意,就是gets会读取回车,也就是说在输入完n之后需要加一个getchar来清除缓存区里的回车。还有一种方法就是直接用%s读取也是可以的,%s不会接受回车和空格,所以不用清除回车。

由于每一种情况的开头字母都不同,所以只需要判断开头字母就可以了,接下来就是注意判断循环次数和平局次数就可以了。

希望能给你们带来帮助!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值