在编写一个猜数字游戏之前,我们来做一些铺垫工作:
1.函数铺垫
(1)rand:该函数是用来产生一个随机数(每次产生的随机数相同)。如:rand()%100相当于产生一个0~99之间的随机数;
(2)srand:该函数作用是在调用rand函数之前,去设置随机数 产生器,使得每次产生的随机数不同。(在一个程序内部被调用一次即可);
(3)time:该函数返回一个从当前时间点到计算机起始时间(1970年1月1日0点)之间的差值(随着时间的变化,差值在变)。
2.编程铺垫:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
srand((unsigned int)time(NULL));//在调用rand函数之前设置随机数产生器
printf("%d\n", rand() % 100);//产生0-99之间的随机数
return 0;
}
有了以上的铺垫之后,我们来编写猜数字游戏吧!
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
void menu()//编写目录
{
printf("*************************\n");
printf("*****1.paly***0.exit*****\n");
printf("*************************\n");
}
void paly_game()
{
int rand_num = rand() % 100;//产生0--99之间的随机数
int tmp = 0;
while (1)//选择“1”开始游戏
{
printf("请输入你要猜的数字:<");
scanf_s("%d", &tmp);
if (tmp > rand_num)
{
printf("猜大了!\n");
}
else if (tmp < rand_num)
{
printf("猜小了!\n");
}
else
{
printf("恭喜你,猜对了!");
}
}
}
int main()
{
int input = 0;
srand((unsigned int)time(NULL));//srand函数设置随机数产生器
do{
menu();
printf("请选择:<\n");
scanf_s("%d", &input);
switch (input)
{
case 1:
paly_game();
break;
case 0:
exit(0);
break;
default:
printf("选择的错误!\n");
}
} while (input);
return 0;
}
运行结果: