#define _CRT_SECURE_NO_WARNINGS
# include<stdio.h>
# include<math.h>
# include<time.h>
#include<stdlib.h>
void menu()//打印主菜单
{
printf("=======================\n");
printf("=========1.play========\n");
printf("=========0.quit========\n");
printf("=======================\n");
}
void game()//游戏环节函数,包括生成随机数和输入比较
{
int guess = 0;
int b = rand()%100+1;//rand函数生成随机数,此函数包含在math.h中使用时必须与srand函数(随机启动器)配合使用
while (1)
{
scanf("%d", &guess);
if (guess > b)
printf("猜大了\n");
else if (guess < b)
printf("猜小了\n");
else
{
printf("猜对了\n");
break;//猜数字正确后推出循环
}
}
}
int main()
{
int a = 0;
srand((unsigned int)time(NULL));//随机数启动器,在srand中输入一个种子,这次的种子为时间戳time函数包含在time.h中
do//游戏得至少启动一次,因此使用do while循环
{
menu();
printf("请输入->");
scanf("%d", &a);
switch (a)
{
case 1:
printf("猜数字:");
game();
break;
case 0:
printf("游戏结束\n");
break;
default:
printf("输入错误,请输入正确数字\n");
break;
}
} while (a);//当玩家输入0时退出游戏
return 0;
}
网上看到的觉得挺有意思就自己实现一下,因为我偶尔买彩票觉得同样的原理可以做一个彩票生成的程序来玩玩。