gpt4 book ai didi

C++ While 循环启动得太早

转载 作者:行者123 更新时间:2023-11-28 02:41:31 25 4
gpt4 key购买 nike

我正在尝试模仿一个 while 循环来计算一组行中的元音。第一个输入是要输入的行的总数。然而,这会启动循环并输出 0。这意味着它只计算 7 行而不是 8 行。我可以通过将计数设置为 -1 来解决这个问题,但它仍然会输出随机零。有没有办法可以改变循环来解决这个问题?

#include <iostream>
#include <cstring>
using namespace std;


int main() {

string sentence;
int count;
int total;
int length;
int lengthcount;
int output;
output = 0;
length = 0;
count = 0;
total = 0;
lengthcount = 0;
cin >> total;

while (total != count){
getline(cin, sentence);
length = sentence.length();
while (length != lengthcount){
switch(sentence[lengthcount]){
case 'a':
++output;
break;
case 'e':
++output;
break;
case 'i':
++output;
break;
case 'o':
++output;
break;
case 'u':
++output;
break;
case 'y':
++output;
break;

}
++lengthcount;
}
cout << output << " ";
++count;
lengthcount = 0;
output = 0;
}

return 0;
}

最佳答案

您可以像阅读行本身一样阅读行数。

string totalstring;
getline(cin, totalstring);
total = stoi(totalstring);

这样,换行符就会被消耗掉。

关于C++ While 循环启动得太早,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25823934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com