[PTA]实验4-1-9 猜数字游戏
Posted Spring-_-Bear
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[PTA]实验4-1-9 猜数字游戏相关的知识,希望对你有一定的参考价值。
猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到,则提示“Game Over”,并结束程序。如果在到达N次之前,用户输入了一个负数,也输出“Game Over”,并结束程序。
输入格式:
输入第一行中给出两个不超过100的正整数,分别是游戏机产生的随机数、以及猜测的最大次数N。最后每行给出一个用户的输入,直到出现负数为止。
输出格式:
在一行中输出每次猜测相应的结果,直到输出猜对的结果或“Game Over”则结束。
输入样例:
58 4
70
50
56
58
60
-2
输出样例:
Too big
Too small
Too small
Good Guess!
- 提交结果:
- 源码:
#include<stdio.h>
int main(void)
{
int N, number, randomNumber; //N为最大猜测次数,number为用户每次猜测的数,randomNumber为输入的随机数
int count, i; //count计数猜测次数
scanf("%d", &randomNumber);
scanf("%d", &N);
count = 0;
for (i = 1; i <= N; i++) //最大允许猜测次数为N
{
scanf("%d", &number);
if (number < 0) //用户输入负数,直接结束游戏
{
printf("Game Over\\n");
break;
}
else
{
count++; //开始猜测,次数自增1
if (number > randomNumber) //Too big
{
printf("Too big\\n");
continue;
}
else if (number < randomNumber) //Too small
{
printf("Too small\\n");
continue;
}
else
{
if (count == 1) //第一次就猜中
{
printf("Bingo!\\n");
break;
}
else if (count == 2 || count == 3) //第2、3次中的某次猜中
{
printf("Lucky You!\\n");
break;
}
else
{
printf("Good Guess!\\n"); //3次以上猜中
break;
}
}
}
}
if (i > N) //猜测次数大于允许的最大猜测次数,输出提示游戏结束
{
printf("Game Over\\n");
}
return 0;
}
以上是关于[PTA]实验4-1-9 猜数字游戏的主要内容,如果未能解决你的问题,请参考以下文章
猜数游戏的代码和实验文档中的说明,为了增加代码的复用性,将猜数字游戏封装为函数GuessSecret(maxtimes),将允许猜数字的最大次数maxtimes作为参数。在调用GuessSecret时