其他分享
首页 > 其他分享> > [C语言]猜数字游戏

[C语言]猜数字游戏

作者:互联网

要求:

  1. 自动产生一个1-100之间的随机数
  2. 猜数字
  3. 猜对了,就恭喜你且游戏结束
  4. 猜错了,会告知是猜大了还是小了,然后继续猜,直至正确
  5. 游戏可以一直玩,除非退出游戏
#define  _CRT_SECURE_NO_WARNINGS 
#include <stdio.h>
#include <time.h>
#include <windows.h>
//显示菜单
void menu()
{
	printf("******************************************\n");
	printf("**********   进入游戏请输入:1    *********\n");
	printf("**********   退出游戏请输入:0    *********\n");
	printf("******************************************\n");
}
//游戏函数
void game()
{
	//生成随机数
	int x = rand() % 100 + 1;
    //想要生成随机数范围多少就改取模的数字;例如想要1~1000,就把100改成1000即可
    //原理:取模后的数不会超过取模的那个数,例如 %100 的结果是 0~99
	int guess;
	while (1)
	{
		printf("请输入你猜的数字:>");
		scanf("%d", &guess);
		if (guess < x)
			printf("猜得太小了!\n");
		else if (guess > x)
			printf("猜得太大了!\n");
		else
		{
			printf("猜对了!!\n");
			Sleep(3000);
			break;
		}
	}
	system("cls"); //清空屏幕
}

int main()
{
	
	int choose;
    //在使用rand函数前,需要用srand()函数设置随机数的生成器
    //srand函数需要unsigned类型的参数,而time函数返回的本质上是int类型,故用强制转换
    //time(),头文件是time.h函数会返回时间戳,返回一种time_t的结构体类型,本质上也是整型
	srand((unsigned)time(NULL));

    //游戏一直可以玩,而且一开始就可以玩游戏,故猜用do while结构
	do 
	{
		menu();
		printf("请选择:>");
		scanf("%d", &choose);
		switch (choose)
		{
		case 0:
			printf("退出游戏\n");
			break;
		case 1:
			system("cls");
			printf("游戏开始\n");
			game();
			printf("请选择是否继续游戏\n");
			break;
		default:
			system("cls");
			printf("选择错误,请重新选择\n");
			break;
		}
		

	} while (choose);	
	return 0;
}

 

标签:数字,int,printf,C语言,break,choose,time,游戏
来源: https://blog.csdn.net/xxlkcl/article/details/123600537