#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
void menu()//void函数不需要返回,menu将函数体封装,将菜单独拎出来,
{
// 打印菜单
printf("********************************\n");
printf("********** 1. play *************\n");
printf("********** 0. exit *************\n");
printf("********************************\n");
}
void game()
{
//1. 游戏的逻辑,生成随机数
int r = rand() % 100 + 1;
//2. 猜数字
int guess = 0;
int count = 5;
while (count)
{
printf("还有%d次机会\n", count);
printf("轻猜数字");
scanf_s("%d", &guess);
if (guess > r)
{
printf("猜大了\n");
}
else if (guess < r)
{
printf("猜小了\n");
}
else
{
printf("恭喜你,猜对了\n");
break; //猜对了,就直接停止
}
count = count - 1;//才一次就减少一次机会,仍然在while循环之内
}
if (count == 0)
{
printf("用完了所有机会,猜数字失败,正确的值是:%d",r);
}
}
int main()
{
int input = 0;
//设置随机数的生成起点
//整个工程只用调用一次
srand((unsigned int )time(NULL));//随机值随着时间变化而变化 //不能放在循环里面
do
{
menu();//想要使用菜单,直接通过menu调用,直接调用上方的void menu函数
//选择
printf("请选择");
scanf_s("%d", &input); //让玩家从菜单的两个选项选择,然后输入
switch (input) //switch条件语句
{
case 1:
//玩游戏的逻辑
game(); //当玩家选择1进入游戏,则开始游戏
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("选择错误,重新选择\n");
break;
}
} while (input); //括号内放入input
return 0;
}
C语言------猜数字游戏----有次数限制版
最新推荐文章于 2024-05-13 17:28:26 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)