此题的解决思路为:
①定义一个函数menu,每次玩游戏时输出menu
②在main函数中利用do--while循环以及switch语句选择玩游戏
③定义一个game函数,专门进行游戏部分
此题需要注意的是:
随机生成数字的过程需要调用srand(随机数的生成起点),srand里面的参数为time。
//time:类型为long,所以我们强转为int型(unsigned int),参数为指针(不确定我们定为NULL)
另外srand函数在整个代码中只调用一次,所以放在main函数里面。#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void menu()
{
printf("***************************\n");
printf("********* 1.play ********\n");
printf("********* 0.exit ********\n");
printf("***************************\n");
}
void game()
{
//随机生成一个数字
int ret = 0;
int n = 0;
ret = rand()%101;
//猜数字
while (1)
{
printf("请猜数字:\n");
scanf_s("%d",&n);
if (n == ret)
{
printf("恭喜你猜对了\n");
break;
}
else if (n < ret)
{
printf("猜小了:\n");
}
else
{
printf("猜大了:\n");
}
}
}
int main()
{
int input = 0;
srand((unsigned int)time(NULL));
//srand:随机数的生成起点
//time:类型为long,所以我们强转为int型(unsigned int),参数为指针(不确定我们定为NULL)
//srand函数在整个代码中只调用一次
do{
menu();
printf("请选择:\n");
scanf_s("%d", &input);
switch (input)
{
case 1:
printf("玩游戏\n");
game();
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("选择错误\n");
break;
}
} while (input);
system("pause");
return 0;
}