猜数字小游戏
1.电脑产生一个随机数
2.键盘输入数字然后进行判断
结果分三种:
猜大啦
猜小啦
猜对啦
产生随机数的过程
首先 rand()函数产生随机值
(范围 0-rand-max (32767))
调用rand()前需先使用
函数srand(unsigned int i);
函数time_t time();因为时间一直是在变化的,所以产生的一定会是随机数
返回时间戳即随机值
#include<stdlib.h>
#include<time.h>
srand((unsigned int)time(NULL));
rand();
- 引头文件
#include<stdio.h>
#include<stdlib.h>
#include<time.h> //使用(unsigned)time(*p)需要引用头文件
- 主函数
int main()
{
int input = 0;
srand((unsigned int)time(NULL));//设置随机数的起点
do
{
menu();
printf("请选择>");
scanf("%d", &input);
switch (input)
{
case 1:
game();
break;
case 0:
break;
default:
printf("输入错误请重新输入");
break;
}
} while (input);
return 0;
}
- 打印菜单
void menu()
{
printf("*******************************\n");
printf("**** 1.play ***********\n");
printf("**** 2.exit ***********\n");
printf("*******************************\n");
}
- 游戏逻辑
void game()
{
//电脑产生随机数
int random_num = rand() % 100 + 1;//定义随机数的范围 1-100
int input = 0;
printf("请输入数字,进行游戏\n");
while (1)
{
//键盘输入数字
scanf("%d", &input);
if (input > random_num)
{
printf("猜大啦\n");
}
else if (input < random_num)
{
printf("猜小啦\n");
}
else
{
printf("猜对啦\n");
break;
}
}
}
注
srand()应该位于主函数中,
若错误地将其定义在game()中,当产生产生随机数时间间隔较小时
会出现产生的随机数相同