题意:猜测单词,输入三行第一行是输入时第几次,第二行是要猜的单词,第三行是猜测的单词。
注意:重复猜测认为错误。
#include<stdio.h>
#include<string.h>
#define Maxn 100
int left ,chance; //left 是需要判断总字母数,chance 是有7次错误的机会
int win ,lose;
char s1[Maxn],s2[Maxn];
void guess(char ch)
{
int bad = 1; //记录ch是否在s1 出现
int s = strlen(s1);
for(int i = 0;i < s; i++)
if(s1[i] == ch)
{
s1[i] = ' '; //可以判断第二次重复猜测的字母
left--;
bad = 0;
}
if(bad) chance--; //没出现就错
if(!chance) lose = 1;
if(!left) win = 1;
}
int main()
{
int n;
while(scanf("%d%s%s",&n,s1,s2) != EOF && n != -1)
{
printf("Round %d\n",n);
left = strlen(s1);
chance = 7;
win = lose = 0;
int s = strlen(s2);
for(int i = 0;i < s; i++)
{
guess(s2[i]);
if(win || lose) break;
}
if(win)
printf("You win.\n");
else
if(lose)
printf("You lose.\n");
else
printf("You chickened out.\n");
}
return 0;
}