代码思路

  1. 主程序使用do......while循环嵌套switch case语句;
  2. 设置menu函数来打印游戏菜单提示;
  3. 设置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;
}

难点

随机数的设置 随机数设置思路:使用时间戳来作为随机数种子