我正在编写一个函数,它返回给定字符串的元音数,这里是代码:
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;
}
这会返回一个关闭的答案。例如,输入&#34; a&#34;返回2,输入&#34; aa&#34;返回3等。
答案 0 :(得分:4)
i <= sequence.length()
<=
在任何for循环中几乎都不正确,因为C ++使用从0开始的索引。相反,你应该做
i < sequence.length()