首页 > 解决方案 > c++中多个字符串中的元音数。输入与停用词“end”一样多的字符串,输出必须是每个字符串中的元音数

问题描述

我如何更改代码以提供所需的输出。我的给出了所有字符串中所有元音的总和,而不是新行中每个字符串中元音的数量?

请在下面查看我的代码:

我的代码输出所有字符串中所有元音的总和,而不是新行中每个字符串中元音的数量。我的代码执行以下操作:

输入

测试

尝试

结尾

输出:4

所需的输出和输入如下:

输入

测试

尝试

结尾

输出

2

1

1

0

#包括

使用命名空间标准;

int main(){
    string name;
    int vowels=0, count=0;
    do
    {
        for(char i=0; i<name.length(); ++i)
        {
            if(name[i]=='a' || name[i]=='A' 
            || name[i]=='e' || name[i]=='E' 
            || name[i]=='i' || name[i]=='I' 
            || name[i]=='o' || name[i]=='O' 
            || name[i]=='u' || name[i]=='U')
            {
                vowels=vowels+1;
            }
            count+=count+1;
        }
    }
    while(cin >> name, name!="end"); 
    cout << vowels;
    return 0;
}

标签: c++

解决方案


while(cin>>name && name!="end")
{
    int vowels = 0;
    for(auto i: name)
    {
        if(i=='a' || i=='A' 
            || i=='e' || i=='E' 
            || i=='i' || i=='I' 
            || i=='o' || i=='O' 
            || i=='u' || i=='U')
            {
                vowels++;
            }
            
            
    }
   cout<<name<<" "<<vowels<<'\n';

// 打印字符串和其中没有元音。}


推荐阅读