需求:系统随机生成1-100之间的随机数,用户输入数据知道猜的数和生成的数据相同时位置
版本一:
(缺点:输入数字之外的数据,就会进入死循环)
将后面的continue修改成为break之后会跳出循环,运行下面的代码,虽然但是可以不用进入死循环更安全一点,但是我想写一个知道输入正确答案的;
所以下面的程序我将continue修改成了break;如果有大佬,帮我出出主意,谢谢!
//
// Created by 27760 on 2023/5/19.
//
//恰好学习了随机数的生成写一个猜数字小游戏
#include <stdio.h>
//获取系统的时间
#include <time.h>
//生成随机数种子
#include <stdlib.h>
int main(void) {
srand((size_t) time(NULL));
int random = rand() % 100 + 1;
int guess;
int count = 0;
// printf("请输入您猜的数字:");
// scanf("%d", &guess);
while (1) {
printf("请输入您猜的数字(1-100):\n");
scanf("%d", &guess);
if (random > guess && guess > 0) {
printf("您输入的数据过小!\n");
count++;
// continue;
} else if (random < guess && guess <101) {
printf("您输入的数据过大!\n");
count++;
//
} else if(random == guess){
printf("恭喜您猜对了!\n");
count++;
break;
}
else{
printf("您输入的数据有误,请仔细检查并重新输入!\n");
break;
}
}
printf("正确答案就是:%d\n", random);
printf("您一共猜了:%d次\n",count);
return 0;
}
运行结果如下:
D:\code\Ccode\guest.exe
请输入您猜的数字(1-100):
36
您输入的数据过大!
请输入您猜的数字(1-100):
18
您输入的数据过小!
请输入您猜的数字(1-100):
26
您输入的数据过大!
请输入您猜的数字(1-100):
24
您输入的数据过大!
请输入您猜的数字(1-100):
20
您输入的数据过小!
请输入您猜的数字(1-100):
23
恭喜您猜对了!
正确答案就是:23
您一共猜了:6次
Process finished with exit code 0
进入死循环之后是这样:(当然后面还有很多相同的话,就没有复制粘贴)
D:\code\Ccode\guest.exe
请输入您猜的数字(1-100):
fd
您输入的数据有误,请仔细检查并重新输入!
请输入您猜的数字(1-100):
您输入的数据有误,请仔细检查并重新输入!
请输入您猜的数字(1-100):