Hangman Judge, UVa 489

刽子手游戏其实是一款猜单词游戏,如图4- 1所示。游戏规则是这样的:计算机想一个单词 让你猜,你每次可以猜一个字母。如果单词里有 那个字母,所有该字母会显示出来;如果没有那 个字母,则计算机会在一幅“刽子手”画上填一 笔。这幅画一共需要7笔就能完成,因此你最多 只能错6次。注意,猜一个已经猜过的字母也算 错。 在本题中,你的任务是编写一个“裁判”程 序,输入单词和玩家的猜测,判断玩家赢了 (You win.)、输了(You lose.)还是放弃了 (You chickened out.)。每组数据包含3行,第1 行是游戏编号(-1为输入结束标记),第2行是 计算机想的单词第3行是玩家的猜测。后两行 保证只含小写字母。
Sample Input
1
cheese
chese
2
cheese
abcdefg
3
cheese
abcdefgij
-1
Sample Output
Round 1
You win.
Round 2
You chickened out.
Round 3
You lose.
代码如下:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
int main()
{
	int a;
	char b[20] = { 0 }, c[20] = { 0 };
	while (scanf("%d", &a)&&a != -1)
	{
		int chance = 0;
		scanf("%s", b);
		scanf("%s", c);
		int temp = strlen(b);
		for (int j = 0;c[j] != 0;j++)
		{
			int flag = 1;
			for (int i = 0;i < temp;i++)
			{
				if (c[j] == b[i])
				{
					flag = 0;
					b[i] = 0;
				}
			}
			if (flag==1) chance++;
			if (chance == 7) break;
		}
		int t = 0;
		for (int i = 0;i < temp;i++)
		{
			if (b[i] != 0) {
				t = 1;break;
			}
		}
		printf("Round %d\n", a);
		if (chance ==7) printf("You lose\n");
		else if (t == 0&&chance<7)printf("You win\n");
		else if(chance<7&&t!=0) printf("You chickened out\n");
	}
	return 0;
}

运行结果如下:

 

希望能给你带来帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值