📅  最后修改于: 2023-12-03 14:59:38.099000             🧑  作者: Mango
在C语言中,控制结构是实现条件分支和循环的基础。掌握了控制结构,我们可以编写更加复杂的程序。
本题要求实现一个猜数字的小游戏,游戏中系统会生成一个1~100的随机数,用户需要猜出这个数字。如果猜中,就输出“恭喜你猜对了!”;否则,如果用户猜的数字偏大或偏小,则输出提示信息,让用户可以重新输入数字进行猜测。如果用户输入的不是1~100范围内的数字,则输出提示信息,让用户重新输入。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
// 生成随机数
srand((unsigned)time(NULL)); // 用时间作为种子,保证每次生成的数都不一样
int number = rand() % 100 + 1;
// 输出规则
printf("猜数字游戏,范围在1~100之间,请输入你猜的数字:\n");
// 循环接受用户输入
while (1) {
int guess;
scanf("%d", &guess);
// 判断输入的数字是否在1~100之间
if (guess < 1 || guess > 100) {
printf("输入的数字不在1~100之间,请重新输入:\n");
} else {
// 判断是否猜中
if (guess == number) {
printf("恭喜你猜对了!\n");
break; // 退出循环
} else {
// 输出提示信息
if (guess > number) {
printf("你猜的数字太大了,请重新输入:\n");
} else {
printf("你猜的数字太小了,请重新输入:\n");
}
}
}
}
return 0;
}
代码中利用了time
库中的time
函数来获取当前时间戳作为种子,并利用srand
和rand
函数来生成1~100之间的随机数。程序中使用while
循环来反复接受用户输入,如果用户猜中了数字,就使用break
语句退出循环,程序结束。