#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<windows.h>
#include<string.h>
#include<time.h>
void menu()
{
printf("**************************");
printf("*********1.paly***********");
printf("*********0.exit***********");
printf("**************************");
}
int input = 0;
void game()
{
strand(0)
int random_num = rand() % 100 + 1;
while (1)
{
printf("请输入您猜的数字");
scanf("%d", &input);
if (input > random_num)
{
printf("猜大了\n");
}
else if (input < random_num)
{
printf("猜小了");
}
else
{
printf("恭喜你猜对了");
break;
}
}
}
int main()
{
srand((unsigned int)time(NULL));
do
{
menu();
printf("请选择");
scanf("%d", &input);
switch (input)
{
case 1:
game();
break;
case 0:
break;
}
}
while(input);
return 0;
}
首先进入主函数,使用do while 循环,定义输入变量input,使用switch语句,输入1,则为游戏,输入0退出,创建菜单函数再循环中调用,创建游戏函数,先使用rand以及time函数实现生成随机数(rand函数需要整型变量randm_num接收,rand创建的随机值在0到RAND_ MAX之间,RAND_ MAX在十进制为大小32767的数字,用srand定义一个随机值的起点,这里用时间戳可以实现,所以使用stand函数调用time,这里srand函数和time函数需要新的头文件#include<stdio.h>,#include<time.h>,为了给随机值的范围缩小到0-100之间的数,给RAND_ MAX进行%运算,其结果在0-99之间,再加1,实现0-100)实现随机数之后,只需要使用if语句即可实现,该程序的核心在于如何实现随机值并合理调用,如rand生成随机数,stand赋一个起点,time时间戳实现随机值,需要一定的积累。