原题:
【问题描述】
给定一个单词,请计算这个单词中有多少个元音字母,多少个辅音字母。元音字母包括 a, e, i, o, u,共五个,其他均为辅音字母。
【输入格式】输入一行,包含一个单词,单词中只包含小写英文字母。
【输出格式】输出两行,第一行包含一个整数,表示元音字母的数量。第二行包含一个整数,表示辅音字母的数量。
【样例输入】lanqiao
【样例输出】
4
3
【评测用例规模与约定】对于所有评测用例,单词中的字母个数不超过100。
解题思路:
如果使用字符数组来做,则直接创建一个char数组(注意预留空间存放结束符),然后判断每个空间存放的字母即可。
如果使用C++的string容器来做,也差不多,直接遍历即可。
char数组解法:
代码实现:
#include <iostream>
using namespace std;
int main()
{
int vowel = 0,consonant = 0;
char str[101];
cin >> str;
for (int i = 0 ; str[i] != '\0' ; ++i)
{
if(str[i] == 'a' || str[i] == 'e' || str[i] == 'i' || str[i] == 'o' || str[i] == 'u')
++vowel;
else
++consonant;
}
cout << vowel << endl << consonant;
return 0;
}
string容器解法:
#include <iostream>
#include <string>
using namespace std;
int main()
{
int vowel = 0,consonant = 0;
string str;
cin >> str;
for (const auto &i : str)
{
if(i == 'a' || i == 'e' || i == 'i' || i == 'o' || i == 'u')
++vowel;
else
++consonant;
}
cout << vowel << endl << consonant;
return 0;
}