C语言二分法写猜数字小游戏
作者:互联网
猜数字
题目:
输入n(0<n<100), 想让程序猜到的值
程序通过二分法不断缩小猜测范围, 直到猜中n
例如n = 39
程序第一次猜测50, 判断数值太大
第二次猜测25, 判断数值太小
第三次猜测37 判断数值太小
43 大
40 大
38 小
39 正确
代码附上:
#include <stdio.h>
#include <stdlib.h>
#define X 0 //初始左边界
#define Y 100 //初始右边界
int main()
{
int num; //用户输入给系统猜的数字
int x = X;
int y = Y;
int guess_num; //系统猜测的数字
int count = 0; //计数器,初始为0
guess_num = (x + y) / 2;//二分
printf("请输入一个(0-100)的整数:");
scanf("%d", &num);
while(1)
{
count++; //循环一次表示猜了一次
if(guess_num > num) //如果系统猜测的值大于你输入的值
{
printf("%d\t大了!\n", guess_num);
y = guess_num; //将这个系统猜测值作为新的右边界
guess_num = x + (guess_num - x) / 2;
}
else if(guess_num < num) //如果系统猜测的值小于你输入的值
{
printf("%d\t小了!\n", guess_num);
x = guess_num; //将这个系统猜测值作为新的左边界
guess_num = guess_num + (y - guess_num) / 2;
}
else
{
printf("%d\t正确了!\n", guess_num);
break;
}
}
printf("\n系统一共猜了 %d 次找到了正确答案!", count);
return 0;
}
PS:0.0
标签:count,guess,num,int,C语言,二分法,小游戏,printf,猜测 来源: https://blog.csdn.net/qq_41024113/article/details/106575996