1.初始化随机数生成器:使用 srand(time(NULL)) 来确保每次运行程序时生成的随机数不同。
2.生成随机数:使用 rand() % 100 + 1 生成一个1到100之间的随机数。
3.提示信息:告诉用户游戏开始和范围。
4.循环等待用户输入:使用 while (1) 创建一个无限循环,直到用户猜对数字。
5.获取用户输入:使用 scanf 获取用户的猜测。
6.比较猜测与随机数:
如果猜测小于随机数,提示“太小了”。
如果猜测大于随机数,提示“太大了”。
如果猜测等于随机数,提示“恭喜你!猜对了”,并使用 break 退出循环
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
// 初始化随机数生成器
srand(time(NULL));
// 生成1到100之间的随机数
int secretNumber = rand() % 100 + 1;
int guess;
printf("欢迎来到猜数字游戏!\n");
printf("我已经想好了一个1到100之间的数字。\n");
// 循环直到用户猜对数字
while (1) {
printf("请输入你的猜测: ");
scanf("%d", &guess);
if (guess < secretNumber) {
printf("太小了!再试一次。\n");
} else if (guess > secretNumber) {
printf("太大了!再试一次。\n");
} else {
printf("恭喜你!猜对了数字%d。\n", secretNumber);
break; // 猜对后退出循环
}
}
return 0;
}
运行如下:
而我们又可以增加一点难度,限制一下猜的次数。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
// 初始化随机数生成器
srand(time(NULL));
// 生成1到100之间的随机数
int secretNumber = rand() % 100 + 1;
int guess;
int attempts = 0;
int maxAttempts = 5; // 设置最大尝试次数
printf("欢迎来到猜数字游戏!\n");
printf("我已经想好了一个1到100之间的数字。\n");
printf("你有%d次机会来猜这个数字。\n", maxAttempts);
// 循环直到用户猜对数字或达到最大尝试次数
while (attempts < maxAttempts) {
printf("请输入你的猜测: ");
scanf("%d", &guess);
attempts++;
if (guess < secretNumber) {
printf("太小了!\n");
} else if (guess > secretNumber) {
printf("太大了!\n");
} else {
printf("恭喜你!你在%d次尝试中猜对了数字%d。\n", attempts, secretNumber);
return 0; // 猜对后退出程序
}
// 提示剩余尝试次数
if (attempts < maxAttempts) {
printf("你还剩%d次机会。\n", maxAttempts - attempts);
}
}
// 如果达到最大尝试次数仍未猜对
printf("很遗憾,你没有在规定次数内猜对数字。正确的数字是%d。\n", secretNumber);
return 0;
}
这里补充一个知识点:生成随机数我们上篇文章已经讲到了,但如果我们需要生成一定范围的随机数就必须如文中的 int secretNumber = rand() % 100 + 1;
rand()生成一个随机数而%100将其运算成0~99的数,而我们想生成1~100,便再加上一个1。
那么要生成101~200怎么办呢?当然,我们也可以像上面rand() % 100 + 101;来进行。
快去玩玩这个游戏吧,争取把它学到手。
标签:guess,数字,int,secretNumber,随机数,printf,小游戏,100 From: https://blog.csdn.net/2401_86654548/article/details/144370607