【C语言学习】 猜数字游戏
一、题目要求,随机产生一个范围内的数,通过键盘输入方式去判断数字的大小,通过系统提示,最终得到随机生成的数值。
二、解题思路:
1、要随机生成一个数,并将他赋值给自己定义的变量。
2、编写一个循环,以用户输入的值作为判断条件,来决定猜数字游戏是否要运行,可以以1和0进行判断(也可以用其他方式)。
3、用if判断语句对用户输入的值与随机生成的值进行相比较,给用户比较结果的提示。
4、用户猜对时,会跳出此时猜数字游戏的循环,返回到原先程序的一个入口,再给用户一个选择是否进行游戏的选择,从而达到一个可以继续循环游戏的效果。
三、代码
int game() {
//初始化变量 a,随机生成的数
int a = 0;
//调用rand之前要调用srand的一个随机生成器,
srand((unsigned int)time(NULL));
a = rand() % 100+1; //将随机生成的数赋值给a
int guess; // 定义一个变量,用户输入的要猜的值
//程序入口
printf("%dn", a);
printf("游戏开始!!数字从1-100n");
printf("请输入你猜的数字:");
scanf("%d", &guess); //用户输入值
while (1) {
if (a > guess) {
printf("猜小了!n");
printf("请重新输入你猜的数字:"); //用户猜错时要继续输入,进行一步循环判断
scanf("%d", &guess);
}
else if (a < guess) {
printf("猜大了!n");
printf("请重新输入你猜的数字:");
scanf("%d", &guess);
}
else {
printf("恭喜你,猜对了!,数字是%dn", guess);
break;
}
}
return 0;
}
int main() {
int a = 0;
int input = 0;
game();
//调用游戏函数
do
{
printf("请选择(1继续游戏,0退出游戏):");
scanf("%d", &input);
switch (input)
{
case 1:
game(); //调用函数,游戏开始
break;
case 0:
printf("退出游戏!n");
break;
default:
printf("选择错误,重新选择!n");
break;
}
} while (input); //当用户输入0时,while循环会结束