题目描述
给定一个单词,请计算这个单词中有多少个元音字母,多少个辅音字母。
元音字母包括 a, e, i, o, u,共五个,其他均为辅音字母。
输入描述
输入格式:
输入一行,包含一个单词,单词中只包含小写英文字母。单词中的字母个数不超过 100。
输出描述
输出两行,第一行包含一个整数,表示元音字母的数量。
第二行包含一个整数,表示辅音字母的数量。
输入输出样例
示例
输入
lanqiao
输出
4
3
运行限制
最大运行时间:1s
最大运行内存: 256M
所需变量
char temp;//代表一个字符一个字符输入,用temp去接收
int sumyuan = 0;//代表元音有多少个,初始化为0
int sumfu = 0;//代表辅音有多少个,初始化为0
我们首先要一个字符一个字符输入,然后判断他的终止条件,才能停止输入,部分代码如下:
while(~scanf("%c",&temp)){
if(temp == '\n'){
break;
}
对于每个输入的字符,我们都要进行判断,如果是元音,我们sumyuan++,如果不是的话那么一定是辅音,那么sumfu++,部分代码如下:
if((temp == 'a')||(temp == 'e')||(temp == 'i')||(temp == 'o')||(temp == 'u')){
sumyuan++;
}else{
sumfu++;
}
最终循环结束,我们就得到sumyuan和sumfu,最终将她们输出就可以了!
该算法本人认为比较优,如果有更好的想法,欢迎q我!
完整代码如下(编译器是dev,语言是C语言):
#include <iostream>
using namespace std;
int main()
{
char temp;
int sumyuan = 0,sumfu = 0;
while(~scanf("%c",&temp)){
if(temp == '\n'){
break;
}
if((temp == 'a')||(temp == 'e')||(temp == 'i')||(temp == 'o')||(temp == 'u')){
sumyuan++;
}else{
sumfu++;
}
}
cout<<sumyuan<<endl<<sumfu<<endl;
return 0;
}