猜数字游戏
猜数字游戏大家应该都清楚,事先写好一个数字,由我们去猜,每猜一次会告知你猜的结果,如果和写下的数字一样则猜对了结束游戏,不一样的话则告诉猜大了还是猜小了,继续猜,直到猜对为止
猜数字游戏源代码:
#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语言中的二分查找算法。
想了解二分查找的可以看我另外一篇博客:二分查找算法