.cpp
#define _CRT_SECURE_NO_WARNINGS//scanf()函数问题
#include <stdio.h>
#include <stdlib.h>//rand()
#include <time.h>//time()
void menu() {
printf("*******************\n");
printf("***1.play 0.exit***\n");
printf("*******************\n");
}
void game() {
//1.生成一个随机数
//2.猜数字
//rand()返回一个随机整数,0~RAND_MAX:32767,单用rand()会出现程序执行每次产生的随机数会一样,
//所以要结合srand()设置随机数的一个生成器
//若仅使用rand()函数,而没有调用srand的函数,系统会默认调用srand(1);在调用rand()函数之前,
//可以使用srand()函数设置随机数种子,如果没有设置随机数种子,rand()函数在调用时,自动设计随机数种子为1。
//随机种子相同,每次产生的随机数也会相同。
int ret = 0;
ret = rand()%100+1;//
printf("%d\n", ret);
}
int main() {
int input = 0;
srand((unsigned int)time(NULL));
//注:srand()函数放到现在的位置即可,不用放在game()函数里面,只要在整个代码里设置一次就可以了
//拿时间戳来设置随机数的生成起点
//time函数用来获取系统时间,返回值类型time_t,参数类型time_t*
do
{
menu();
printf("请选择:");
scanf("%d", &input);
switch (input) {
case 0:
printf("退出游戏\n");
break;
case 1:
game();
break;
default:
printf("选择错误\n");
break;
}
} while (input);//判断
return 0;
}
运行截图: