C语言关于折半查找思想实现猜数字小游戏——对“顺序、选择和循环“的练习使用

C语言关于折半查找思想实现猜数字小游戏——对"顺序、选择和循环"的练习使用

实现代码

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<time.h>
#include<windows.h>

#pragma warning(disable:4996)

void Menu()           //菜单实现
{
	printf("#######################\n");
	printf("##1.Guess      2.Quit##\n");
	printf("#######################\n");
	printf("Please Select>");
}
void Game()
{

	printf("..........游戏开始..........\n");
	srand((unsigned int)time(NULL));//通过srand()函数,种下一个随机种子,来产生随机数。
		                            //根据时间每时每刻都是变化的,可以用time()时间函数来产生种子。
	int data = rand() % 100 + 1;//通过调用rand()函数产生随机数,为了便于猜测,设定数字大小范围为[1,100]
	printf("规则: 计算机会随机生成[1,100]之间的数字,你要能才出来,快试试吧!\n");
	for (;;){                //通过一个死循环实现玩家猜数字次数直到猜对
		printf("Guess: ");
		int x = 0;
		scanf("%d", &x);

		if (x > data){
			printf("你猜大了!\n");
		}
		else if (x < data){
			printf("你猜小了!\n");
		}
		else{
			printf("恭喜你,猜对了,数字是:%d\n", data);
			break;
		}
	}
	printf("..........游戏结束..........\n");
	

}
int main()
{
	int quit = 0;
	while (!quit)          //控制循环
	{
		Menu();
		int select = 0;
		scanf("%d", &select);
		switch (select){
		case 1:
			Game();
			printf("要不要再玩一局?\n");
			break;
		case 2:
			quit = 1;      //结束循环标志
			printf("Game End!\n");
			break;
		default:
			printf("你的输入有误,请重新输入!\n");
			break;
		}
	}
	system("pause");
	return 0;
}

运行实例

玩家用折半查找的思想进行猜数字

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值