489 - Hangman Judge
注意题意就没有什么问题。
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=94&page=show_problem&problem=430
#include<stdio.h>
#include<string.h>
int main()
{
int T;
char a[1000];
char b[1000];
int biao[1000];
while (scanf("%d",&T)!=EOF)
{
int G=0;
memset(biao,0,sizeof(biao));
int error=0;
int right=0;
if (T==-1) break;
scanf("%s",a);
scanf("%s",b);
int len=strlen(a);
for (int i=0;i<len;i++)
{
if (biao[a[i]-'a']!=1) G++;//计算有几种字符存在 ,G;
biao[a[i]-'a']=1;//标记存在的字符
}
int len1=strlen(b);
for (int i=0;i<len1;i++)
{
if (biao[b[i]-'a']==0)
{
biao[b[i]-'a']=2;error++;//计算错误的猜有几次;
}
else if (biao[b[i]-'a']==1&&biao[b[i]-'a']!=3)
{
biao[b[i]-'a']=3;right++;
}
if (error>=7||right==G) break;//******当时是此处一直错,没有写||right==G,因为题意为在7个画完之“前全猜”对也算对的
}
printf("Round %d\n",T);
if (error>=7) printf("You lose.\n");
else if (right>=G) printf("You win.\n");
else printf("You chickened out.\n");
}
return 0;
}