C语言小游戏【猜数字】

猜数字游戏

猜数字游戏大家应该都清楚,事先写好一个数字,由我们去猜,每猜一次会告知你猜的结果,如果和写下的数字一样则猜对了结束游戏,不一样的话则告诉猜大了还是猜小了,继续猜,直到猜对为止

猜数字游戏源代码:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<time.h>

//猜数字游戏菜单
void menu() {
	printf("*****************************\n");
	printf("**********1.play*************\n");
	printf("**********0.exit*************\n");
	printf("*****************************\n");
}


void game() {
    //产生一个0-100的随机数作为要猜的数字
	int random_num = rand() % 100 + 1;
	int input = 0;
	while (1) {
		printf("请输入你猜的数字:");
		scanf("%d", &input);
		if (input > random_num)  {
			printf("你猜大了\n");
		}
		else if (input < random_num) {
			printf("你猜小了\n");
		}
		else {
			printf("恭喜你猜对了\n");
			break;
		}
	}
}

int main() {
	int input = 0;
	srand((unsigned)time(NULL));
	do {
		menu();
		printf("请选择:");
		scanf("%d", &input);
		switch (input)	 {
		case 1:
			game();
			break;
		case 0:
			break;
		default:
			printf("你输入的有误,请重输!\n");
			break;
		}
	} while (input);
	return 0;
}

代码演示
在这里插入图片描述
那么怎样才能更快更准的猜对数字呢?
答案就是每次猜中间数,也就是C语言中的二分查找算法。
想了解二分查找的可以看我另外一篇博客:二分查找算法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值