我是靠谱客的博主 温暖音响,最近开发中收集的这篇文章主要介绍7-24 猜数字游戏,浙大翁恺C语言课程PAT平台练习题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

7-24 猜数字游戏,浙大翁恺C语言课程PAT平台练习题

猜数字游戏是令游戏机随机产生一个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!
结尾无空行

难点在于读取第一行数据后怎么进行后续数据的循环读入,并且要做出相应的判断处理。
我的思路是用while语句进行循环读入猜测的单个数据,同时用flag作为终止while的标识。
在while语句里面根据每一次的比较,选择是否增加轮数。
终止while后用记录的轮数round进行打印内容的判断。
如果读到了负数那么直接终止整个程序。
代码如下,已过PAT平台,得分15分。

#include <stdio.h>
int main()
{
int random=0,n=0;//定义随机数和指定次数n 
scanf("%d %d",&random,&n);
int x=0,round=1,flag=1;//每一次猜测的数记为x,每一次对应的轮数为round 
while(flag==1 && round<=n && scanf("%d",&x)==1 ){//循环读入每一行的单个数据,注意循环终止条件 
if(x>random){
printf("Too bign");
round++;
}
else if(x<random && x>=0){//加上x>=0能保证读取到负数时不进行这一个if语句块 
printf("Too smalln");
round++;
}
else if(x==random){//相等则直接跳出while,进行后续打印判断,不用管其他未读数据 
flag=0;
}
else if(x<0){//出现负数直接结束整个程序 
printf("Game Over");
return 0;
}
}
//while语句正常结束后一定有一个表示猜测几轮的round,与题目要求的n作对比进行语句打印 
if(round==1){
printf("Bingo!");
}
else if(round<=3){
printf("Lucky You!");
}
else if(round<=n){
printf("Good Guess!");
}
else{
printf("Game Over");
}
return 0;
}

萌新一枚,感谢浏览~

最后

以上就是温暖音响为你收集整理的7-24 猜数字游戏,浙大翁恺C语言课程PAT平台练习题的全部内容,希望文章能够帮你解决7-24 猜数字游戏,浙大翁恺C语言课程PAT平台练习题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部