C语言.写一个简单的猜数游戏程序。游戏规则如下:(1)程序随机生成一个正整数,提示用户猜:(2)用户输入所猜的正整数:(3)程序判断用户输入的数:如果相等(即猜中),则给出恭喜用户猜中的信息,并给出用户猜的次数;如果不等,则给出用户所输入的数是较大还是较小的提示信息,让用户继续猜。命令S表示开始猜数;命令C表示结束游戏。在程序开始和每次猜中一个数后,由用户输入S命令表示开始猜数;用户可输入C命令中止游戏,结束程序。设猜数的范围是1到10000之间的正整数。 (1)编写并调试程序。谈谈使用rand等随机数生成函数的体会。 (2)注意界面设计。例如,根据猜一个数的次数,给出A、B、C等评价或者给出一句话的评价。再如,根据猜多个数的成绩,给出综合评价。 (3)给出完整的源程序。
时间: 2023-05-28 07:06:27 浏览: 99
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
srand(time(NULL)); // 初始化随机数种子
int target = rand() % 10000 + 1; // 生成1到10000之间的随机数
int guess, count = 0;
char command = 'S'; // 初始化命令为S
while (command != 'C') // 当命令不是C时,循环执行游戏
{
if (command == 'S') // 当命令为S时,开始新游戏
{
target = rand() % 10000 + 1; // 重新生成随机数
count = 0; // 猜数次数清零
printf("游戏开始!\n");
}
printf("请输入你猜的数(1~10000):");
scanf("%d", &guess);
count++;
if (guess == target) // 猜中了
{
printf("恭喜你猜中了!你猜了%d次。\n", count);
if (count <= 5) // 根据猜数次数给出评价
printf("你真是太聪明了!\n");
else if (count <= 10)
printf("你很厉害呢!\n");
else
printf("你需要再努力一点哦。\n");
printf("输入S开始新游戏,输入C退出游戏:");
}
else if (guess < target) // 没猜中,提示数偏小
{
printf("你猜的数有点小,请继续猜。\n");
}
else // 没猜中,提示数偏大
{
printf("你猜的数有点大,请继续猜。\n");
}
scanf(" %c", &command); // 输入命令
}
printf("游戏结束,谢谢参与!\n");
return 0;
}
```
使用rand等随机数生成函数时需要注意以下几点:
1. 需要调用srand函数初始化随机数种子,否则每次生成的随机数都是一样的;
2. 生成的随机数可能会超过或小于预期的范围,需要通过取模或其他方法将其限制在范围内;
3. 随机数的分布可能不是完全均匀的,可能需要进行统计和分析。
阅读全文