题目:请用C语言写一个猜数字游戏
本文的猜数字游戏思路是,先打印菜单,选择“1.play”或“0.exit”退出,当进入“1.play”进入游戏后,通过rand函数,生成随机数,将输入的数字与之比较。
关于随机数的生成:
rand()函数与srand()配合使用,用来输出随机值,并常使用srand(time(NULL))来实现真正的随机值,具体题原理可看这篇博客https://blog.csdn.net/qq_56776711/article/details/126338460?spm=1001.2014.3001.5501
C语言实现代码如下:
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
void menu()
{
printf("********************************\n");
printf("******* 1. play *******\n");
printf("******* 0. exit *******\n");
printf("********************************\n");
}
void game()
{
//RAND_MAX-32767
//1.生成随机数
//讲解rand函数
int ret = rand() % 100 + 1;
int num = 0;
//2.猜数字
while (1)
{
printf("请猜数字:>");
scanf("%d", &num);
if (num == ret)
{
printf("恭喜你,猜对了\n");
break;
}
else if (num > ret)
{
printf("猜大了\n");
}
else
{
printf("猜小了\n");
}
}
}
int main()
{
int input = 0;
//讲解srand函数
srand((unsigned int)time(NULL));
do
{
menu();
printf("请选择:>");
scanf("%d", &input);
switch (input)
{
case 1:
game();
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("选择错误\n");
break;
}
} while (input);
return 0;
}
运行结果如图: