C ++程序使用Pointer计算字符串中的元音?
要从字符串中获取元音,我们必须遍历字符串中的每个字符。在这里,我们必须使用指针在字符串中移动。为此,我们需要C样式字符串。如果字符串由str指向,则*str将在开头保留第一个字符。然后,如果增加str,则*str将指向下一个字符,依此类推。如果字符在[a,e,i,o,u]或[A,E,I,O,U]中,则为元音。因此,我们将增加数量
算法
countVowels(str)
begin count := 0 for each character ch in str, do if ch is in [a,e,i,o,u] or [A, E, I, O, U], then count := count + 1 end if done return count end
示例
#include<iostream> using namespace std; int countVowels(const char *myStr){ int count = 0; while((*myStr) != '\0'){ if(*myStr == 'a' || *myStr == 'e' || *myStr == 'i' || *myStr == 'o' || *myStr == 'u' || *myStr == 'A' || *myStr == 'E' || *myStr == 'I' || *myStr == 'O' || *myStr == 'U') { count++; } myStr++; } return count; } main() { string myStr; cout << "Enter String: "; cin >> myStr; cout << "Number of Vowels: " << countVowels(myStr.c_str()); }
输出结果
Enter String: EDucation Number of Vowels: 5