7-6 手指游戏
有时候,小诺诺会和爸爸玩手指游戏。游戏规则是:拇指 胜 食指, 食指 胜 中指,中指 胜 无名指,无名指 胜 小指,小指 胜 拇指;反之,食指 败给 拇指,中指 败给 食指,……;其它情况不分胜负,如拇指与中指不分胜负。拇指、食指、中指、无名指、小指分别用英文表示为:“thumb”、“forefinger”、“middle finger”、“third finger”、“little finger”。请你根据两人所出的手指判断小诺诺是否获胜。
输入格式:
首先输入测试组数T (0<T<20),然后输入T组测试数据;每组测试先输入2个字符串a,b(a,b值为描述中的手指的英文表示,以英文逗号“,”分隔),a为小诺诺出的手指,b为她爸爸出的手指。
输出格式:
对于每组测试,在一行上输出“Win”或“Lose”或“Draw”表示小诺诺胜或败或和(不分胜负)。
输入样例:
3
little finger,middle finger
thumb,forefinger
third finger,middle finger
下面代码显示段错误,为什么呀?????
#include<stdio.h>
#include<string.h>
int main()
{
int n;
scanf("%d",&n);
char w;
scanf("%c",&w);
char Arr[n][10];
int i = 0;
char str1[n][20], str2[n][20];
for (i = 0; i < n; i++)
{
char ch;
int count1 = 0, count2 = 0;
while (1)
{
scanf("%c", &ch);
if (ch == ',')
{
str1[i][count1] = '\0';
break;
}
str1[i][count1++] = ch;
}
while (1)
{
scanf("%c", &ch);
if (ch == '\n')
{
str2[i][count2] = '\0';
break;
}
str2[i][count2++] = ch;
}
}
for (i = 0; i < n; i++)
{
if (
(strcmp(str1[i], "thumb") == 0 && strcmp(str2[i], "forefinger") == 0)
|| (strcmp(str1[i], "forefinger") == 0 && strcmp(str2[i], "middle finger") == 0)
|| (strcmp(str1[i], "middle finger") == 0 && strcmp(str2[i], "third finger") == 0)
|| (strcmp(str1[i], "third finger") == 0 && strcmp(str2[i], "little finger") == 0)
|| (strcmp(str1[i], "little finger") == 0 && strcmp(str2[i], "thumb") == 0)
)
strcpy(Arr[i], "Win");
else if (
(strcmp(str1[i], "thumb") == 0 && strcmp(str2[i], "little finger") == 0)
|| (strcmp(str1[i], "forefinger") == 0 && strcmp(str2[i], "thumb") == 0)
|| (strcmp(str1[i], "middle finger") == 0 && strcmp(str2[i], "forefinger") == 0)
|| (strcmp(str1[i], "third finger") == 0 && strcmp(str2[i], "middle finger") == 0)
|| (strcmp(str1[i], "little finger") == 0 && strcmp(str2[i], "third finger") == 0)
)
strcpy(Arr[i], "Lose");
else strcpy(Arr[i], "Draw");
puts(Arr[i]);
}
}