编写一个猜数游戏程序。用户心中给出一个0到100之间的整数,程
序通过提问来猜测用户所想的数是什么(例如,“你的数小于50
吗?”),程序应该能够用不超过7个问题来确定这个数。
//定义答案数字所在的区间,全闭区间
int left = 0;
int right = 100;
//区间只剩一个数时结束循环输出答案
//注意:确保循环执行时区间一定要缩小,否则可能会造成死循环
while (left != right) {
cout << "你猜的数大于" << left + (right - left) / 2 << "吗?输入yes or no" << endl;
string str;
cin >> str;
if (str == "yes") {
left = (left + (right - left) / 2) + 1;
}
else if (str == "no") {
right = (left + (right - left) / 2);
}
}
cout << "your number is: " << left;