代码思路
- 主程序使用do......while循环嵌套switch case语句;
- 设置menu函数来打印游戏菜单提示;
- 设置game函数,使用rand随机函数库和time时间库设置随机数,再进行数字比较。
实现代码
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//打印菜单
void menu()
{
printf("************\n");
printf("***1. play***\n");
printf("***2. exit***\n");
printf("************\n");
}
//猜数字游戏
void game()
{
int guess = 0;
printf("请输入你猜的数字:>");
scanf("%d", &guess);
//1.设置一个1-100之间的随机数
int ori_num = rand() % 100 + 1;
//2.开始游戏
while (1)
{
if (guess < ori_num)
{
printf("猜小了");
scanf("%d", &guess);
}
else if (guess > ori_num)
{
printf("猜大了");
scanf("%d", &guess);
}
else
{
printf("猜对了!!!");
break;
}
}
}
//主程序 do...while循环
int main()
{
int input = 0;
srand((unsigned int)time(NULL));
do
{
printf("是否开始游戏?>");
scanf("%d", &input);
menu();
switch (input)
{
case 1:
game();
break;
case 0:
printf("退出游戏");
break;
default:
printf("输入值不符合要求,请重新输入:\n");
break;
}
} while (input);
return 0;
}
难点
随机数的设置 随机数设置思路:使用时间戳来作为随机数种子