我正在编写一个函数,该函数返回给定字符串的元音数量,这是代码:

int isVowel(string sequence)
{
    int numberOfVowels = 0;         //Initialize number of vowels to zero
    string vowels = "aeiouAEIOU";   //Possible vowels, including capitals
    for (int i = 0; i <= sequence.length(); i++)
    {
        for (int j = 0; j <= vowels.length(); j++)
        {
            if (sequence[i] == vowels[j])
            {
                numberOfVowels += 1;
            }
        }
    }
    return numberOfVowels;
}


这将返回相距一的答案。例如,输入“ a”返回2,输入“ aa”返回3,依此类推。

最佳答案

i <= sequence.length()


在任何for循环中,<=几乎永远都不正确,因为C ++使用基于0的索引。相反,您应该

i < sequence.length()

关于c++ - 计算字符串中的元音数量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42288589/

10-11 18:36