【发布时间】:2023-02-06 13:59:57
【问题描述】:
躲猫猫是小孩子喜欢玩的有趣游戏。要在计算机上模拟这个游戏,请编写一个程序,生成一个 1 到 4 之间的随机数。然后,将与该数字相关联的动物名称打印到屏幕上。使用的动物名称将是:
生成 1 时的猪
生成a 2时的牛
生成 3 时的鸡
生成 4 时的马
如果您的程序生成 3,则输出将是:
鸡
如果玩家想再次玩游戏或输入其他任何内容以退出程序,则玩家将输入 1。
如果玩家输入“1 1 1 0”,输出将是:horse chicken cow horse
为了简化编码,在每个输出动物后跟一个空格,即使是最后一个。
提示:为了使测试更容易,将 0 作为随机数生成器的种子。另外,在重复游戏之前尝试执行一次游戏迭代。
为什么只输出三只动物却要输出四只动物?????。
#include <cstdlib>
#include<ctime>
using namespace std;
int main() {
srand(0);
int userChoice = 1;
int option;
cin >> userChoice;
do {
option = rand() % 4 + 1;
if (option != 0) {
if (option == 1) {
cout << "pig" << " ";
} else if (option == 2) {
cout << "cow" << " ";
} else if (option == 3) {
cout << "chicken" << " ";
} else if (option == 4) {
cout << "horse" << " ";
} else {
break;
}
}
cin >> userChoice;
} while(userChoice != 0);
return 0;
}
【问题讨论】:
-
我在这里看不到问题。
-
它只输出三只动物,但它需要输出四只。
-
@NathanPierson:问题“发布的代码中有什么错误?”暗示。
-
if (option != 0)总是正确的。break永远联系不上。 -
哦,问题不在于缺少特定的动物。那是你没有打印足够多的动物。检查你的循环逻辑。考虑用户立即输入 0 的情况。这应该打印一只动物。
标签: c++