我在尝试编写这个嵌套循环时遇到了很多困难。
我们必须数泡泡和它们各自的小玩意。
我必须提示用户输入一个整数来表示气泡的数量。并提示用户输入一个整数,表示每个气泡的气泡数。
每个泡泡都会说布洛普!在每个泡泡之后,每个泡泡都会说“砰!”都是连续的,后面跟着新的一行。
我的代码是:
cout << "How many bubbles are there? ";
cin >> bubbles;
cout << "How many baubles are being created by each bubble? ";
cin >> baubles;
while (bubbles > 0) {
cout << "BLOP!" << endl;
bubbles--;
for (baubles; baubles > 0; baubles--) {
cout << "bloop!" << endl;
}
}问题是我拿不到“血!”在第一个循环迭代之后出现正确的次数。这很可能是因为我正在将这些小玩意减少到0;但是我必须这样做,这样才能每次从内循环中出来,内环就可以打印出正确的弹球数。
对于4个气泡和2个小泡的样本输入,我的输出是:
BLOP!
bloop!
bloop!
BLOP!
BLOP!
BLOP!它应该是
BLOP!
bloop!
bloop!
BLOP!
bloop!
bloop!
BLOP!
bloop!
bloop!
BLOP!
bloop!
bloop!任何帮助都是非常感谢的。我尝试过许多循环方法,并包含了if语句,试图使它工作,但我似乎无法理解它。
发布于 2014-03-09 17:26:50
for (baubles; baubles > 0; baubles--) 应:
for (baubles2 = baubles; baubles2 > 0; baubles2--) 因为每次都要重置。否则,在第一次迭代之后,它将永远保持0。
发布于 2014-03-09 17:27:19
每次在baubles上迭代时,都需要将变量baubles0重置为它的原始值,使用另一个变量baubles0
cout << "How many bubbles are there? ";
cin >> bubbles;
cout << "How many baubles are being created by each bubble? ";
cin >> baubles0;
while (bubbles > 0) {
cout << "BLOP!" << endl;
bubbles--;
for (baubles = baubles0; baubles > 0; baubles--) {
cout << "bloop!" << endl;
}
}发布于 2014-03-09 17:26:58
cout << "How many bubbles are there? ";
cin >> bubbles;
cout << "How many baubles are being created by each bubble? ";
cin >> baubles;
while (bubbles > 0) {
cout << "BLOP!" << endl;
bubbles--;
for (int baubles_aux = baubles; baubles_aux > 0; baubles_aux--) {
cout << "bloop!" << endl;
}
}https://stackoverflow.com/questions/22285437
复制相似问题