我正在通过文本中的一些问题,使用C++的原则和实践,我遇到的具体问题是以下。用户必须考虑1到100之间的数字,然后计算机将通过一系列猜测找出问题所在。C++ 1-100猜谜游戏,其中计算机是一个猜测
当前代码除数字1外(由于除以2时除去整数)。我似乎无法想出解决这个问题的方法。
下面是电流源代码:
#include
using namespace std;
const int MAX_VALUE = 100;
const int MIN_VALUE = 1;
int guess;
int high = MAX_VALUE;
int low = MIN_VALUE;
char choice;
int main(){
cout<
guess = (high-low)/2;
while((high-low)!=1){
cout<
cin>>choice;
if(choice=='y' || choice=='Y') {
high = guess;
guess -= (high - low)/2;
}
else if(choice=='n' || choice=='N') {
low = guess;
guess += (high - low) /2;
}
else cout<
}
cout<
system("pause");
return 0;
}
2013-11-14
Placid
+0
是什么不是工作?你的意见是什么,预期的结果是什么,实际结果是什么? –
+0
我不完全确定它会起作用,但试着追踪刚才的高值和低值,然后计算出“猜测=(低+高)/ 2”的“新猜测”... –
+1
在看剩下的代码,我觉得你到达中间点的方式很腥。 (高 - 低)可能在这里工作,但(高+低)/ 2将是更好的方式来获得中点 想象一下,你必须猜测50和100之间的数字。你最初的“猜测”将是(100-50)/ 2,这是25,你永远不会到达答案 –