用c++写一个二分法猜数的代码
时间: 2024-05-12 20:21:05 浏览: 110
以下是使用 C 语言编写的二分法猜数代码:
```c
#include <stdio.h>
int main() {
int low = 1, high = 100, mid, num;
char answer;
printf("请你想好一个 1 到 100 之间的整数\n");
while (low <= high) {
mid = (low + high) / 2; // 获取中间数
printf("你想的数是 %d 吗?(y/n)\n", mid);
scanf(" %c", &answer);
if (answer == 'y') { // 猜对了
printf("猜对了,你想的数是 %d\n", mid);
break;
} else if (answer == 'n') { // 猜错了
printf("你想的数比 %d 大还是小?(b/s)\n", mid);
scanf(" %c", &answer);
if (answer == 'b') { // 猜小了
low = mid + 1;
} else if (answer == 's') { // 猜大了
high = mid - 1;
}
} else { // 输入错误
printf("输入错误,请重新输入\n");
}
}
return 0;
}
```
运行结果:
```
请你想好一个 1 到 100 之间的整数
你想的数是 50 吗?(y/n)
n
你想的数比 50 大还是小?(b/s)
b
你想的数是 75 吗?(y/n)
n
你想的数比 75 大还是小?(b/s)
s
你想的数是 62 吗?(y/n)
n
你想的数比 62 大还是小?(b/s)
s
你想的数是 56 吗?(y/n)
n
你想的数比 56 大还是小?(b/s)
b
你想的数是 59 吗?(y/n)
y
猜对了,你想的数是 59
```
阅读全文