统计元音(stringstream的-应用)
Problem Description
统计每个元音字母在字符串中出现的次数。
Input
输入数据首先包括一个整数n,表示测试实例的个数,然后是n行长度不超过100的字符串。
Output
对于每个测试实例输出5行,格式如下:
a:num1
e:num2
i:num3
o:num4
u:num5
多个测试实例之间由一个空行隔开。
请特别注意:最后一块输出后面没有空行:)
a:num1
e:num2
i:num3
o:num4
u:num5
多个测试实例之间由一个空行隔开。
请特别注意:最后一块输出后面没有空行:)
Sample Input
2
aeiou
my name is ignatius
Sample Output
a:1
e:1
i:1
o:1
u:1
a:2
e:1
i:3
o:0
u:1
话说“请特别注意:最后一块输出后面没有空行”到底怎样擦算啊?我去
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #include<iostream> 2 #include<iomanip> 3 //#include<bits/stdc++.h> 4 #include<cstdio> 5 #include<cmath> 6 #include<sstream> 7 #define PI 3.14159265358979 8 #define LL long long 9 #define eps 0.00000001 10 #define LL long long 11 using namespace std; 12 int main() 13 { 14 //freopen("input.txt","r",stdin); 15 char c[110]; 16 int T; 17 cin>>T; 18 getchar();//吸收回车 19 while(T--) 20 { 21 gets(c); 22 stringstream ss(c);//复制 23 string s;int sum1=0,sum2=0,sum3=0,sum4=0,sum5=0; 24 while(ss>>s)//ss->s 25 { 26 int l=s.size(); 27 for(int i=0;i<l;++i) 28 { 29 if(s[i]=='a') ++sum1; 30 if(s[i]=='e') ++sum2; 31 if(s[i]=='i') ++sum3; 32 if(s[i]=='o') ++sum4; 33 if(s[i]=='u') ++sum5; 34 } 35 } 36 cout<<"a:"<<sum1<<endl; 37 cout<<"e:"<<sum2<<endl; 38 cout<<"i:"<<sum3<<endl; 39 cout<<"o:"<<sum4<<endl; 40 if(T!=0) cout<<"u:"<<sum5<<endl<<endl; 41 else cout<<"u:"<<sum5<<endl; 42 } 43 }