C 利用循环和随机数生成制作猜数字小游戏

C语言编程示例:菜单选择与随机数游戏
文章介绍了使用C语言编写的简单程序,包含开始菜单、随机数游戏和用户选择功能。程序通过`scanf`,`printf`,`Sleep`等函数实现交互,可重复进行游戏。
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#include<windows.h>


int start(input)//创建开始菜单
{
	printf("####################\n");
	Sleep(300);//提供0.3s的停顿,提升观感
	printf("#####1、start ######\n");
	Sleep(300);
	printf("#####0、 exit ######\n"); 
	Sleep(300);
	printf("####################\n");
	Sleep(300);
	printf("请选择=>");
	
	scanf("%d", &input);//输入选择
	
	return input;//返回输入值
}

void game()
{
	int input2 = 0;
	int guess = 0;
	int ret = 0;
	
	do//先执行一次
	{
		ret = rand() % 100 + 1;//生成随机数,限制输出的随机数为1~100
		while (ret)
		{
			//printf("%d\n", ret);//用于测试
			printf("请输入猜测=>");
			scanf("%d", &guess);
			
			if (guess > ret)
			{
				printf("大了\n");
			}
			else if (guess < ret)
			{
				printf("小了\n");
			}
			else
			{
				printf("拟态棒辣,猜对了\n");
				printf("是否要再玩一次?\n1、again\nothers number、exit\n=>");
				scanf("%d", &input2);

				if (input2 == 1)
				{
					system("cls");
					break;
				}
				else
				{
					Sleep(500);
					printf("exit");
					Sleep(1000);
					break;//退出循环
				}
			}
		}
	}
	while (input2 == 1);//用于检测是否再次游玩
}

int main()
{
	srand((unsigned int)time(NULL));//srand提供种子,利用时间戳作为参数,将返回值类型由time_t强制转换为无符号整形
    int input = 0;
	
	do
	{
		input = start();
		system("cls");
		switch (input)//进行选择
		{
		case 1:
			game();
			input = 0;
			break;
		case 0:
			printf("exit");
			Sleep(500);
			break;
		default:
			printf("error\n");
			Sleep(1000);
			break;
		}
	}
	while (input);
	
	return 0;
}

感觉可以再精简一点,但是写完的时候头脑好乱

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值