猜测秘密数字(电脑对电脑) – AI

我的代码在猜测秘密数字时出现了问题。我想制作一个只有电脑进行猜测和回答的游戏。我尝试编写代码,但结果却陷入了无限循环。

这是我的代码:

#include <cstdlib>#include <time.h>#include <iostream>using namespace std;int main() {  int lowest = 0;  int highest = 9;  srand(time(0));  int number;  number = rand() % 9+1;  int guess;  guess = rand() % 9+1;  do {      if (number){        switch(number)               {                          case 1:                                 if(guess>lowest)                                lowest=guess;                                do {                                   guess=rand()%9 +1;                                   }while(guess<lowest || guess>highest);                               break;                           case 2:                                if(guess<highest)                               highest=guess;                               do  {                                   guess=rand()%9 +1;                                   }while(guess<lowest || guess>highest);                                break;                            case 3:                                  cout<<"\n\n\aHA! I got it right"<< endl;                                 break;               }        if (guess < number){              cout << "Your guess is less than secret number"<<endl ;              }        else if (guess > number){              cout << "Your guess is high than secret number"<<endl ;              }        else              cout << "Your guess is right!" << endl;      }  } while (guess != number);  return 0;}

请帮助我解决这个问题。


回答:

我认为你对switch语句的工作原理有些困惑。按照你写的代码,它会查看number的值,如果number1(执行case 1),或者number2,或者3,它会做一些事情。如果number不是这些选项中的一个,它就什么也不做。我猜你想要的是用if-else-if-else-if-...块来替换switch。你似乎在基本语法上遇到了困难,特别是在控制流程方面。为了获取更多信息,你应该查看这个网站的第5章:http://www.learncpp.com/。我认为这将帮助你更好地理解你的代码在做什么。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注