输入有两行,每一行都有可能为“Rock”(石头),“Scissors”(剪子),”Cloth”(布)。第一行为小鑫的选择,第二行为健健的选择。
Output 输出有一行,如果小鑫赢了输出“Win”,输了输出“Lose”,平局输出“Equal”。(输出不包括引号)
#include<stdio.h>
#include<string.h>
int main()
{
char a[100];
char b[100];
gets(a);
gets(b);
if(strcmp(a,"Rock")==0&&strcmp(b,"Rock")==0)
printf("Equal\n");
if(strcmp(a,"Scissors")==0&&strcmp(b,"Scissors")==0)
printf("Equal\n");
if(strcmp(a,"Cloth")==0&&strcmp(b,"Cloth")==0)
printf("Equal\n");
if(strcmp(a,"Rock")==0&&strcmp(b,"Cloth")==0)
printf("Lose\n");
if(strcmp(a,"Rock")==0&&strcmp(b,"Scissors")==0)
printf("Win\n");
if(strcmp(a,"Cloth")==0&&strcmp(b,"Rock")==0)
printf("Win\n");
if(strcmp(a,"Cloth")==0&&strcmp(b,"Scissors")==0)
printf("Lose\n");
if(strcmp(a,"Scissors")==0&&strcmp(b,"Rock")==0)
printf("Lose\n");
if(strcmp(a,"Scissors")==0&&strcmp(b,"Cloth")==0)
printf("Win\n");
return 0;
}
这道题目涉及到进行字符串的比较,首先用char定义一个数组,进行两个‘单词’ 的储存,string库里 有一个strcmp的函数,用于比较两个字符串。
格式为 ***strcmp(a,b)*** 如果字符串a与字符串b相等,则strcmp的返回值为0,若a<b 返回值为负数,若a>b 返回值为正数。
比较的规则是按照每个字符串的首尾字母拿出来比较,按照ASCII码的值,一位一位的进行比较,例如,'A'<'B'; 'a'>'A'; 'computer' > 'compare' 。
然后用if语句进行比较,然后利用返回值来确定要打印的游戏结果就可以了,只要..别打错字母.....OMG