统计元音(stringstream的-应用)



Problem Description
统计每个元音字母在字符串中出现的次数。
 
Input
输入数据首先包括一个整数n,表示测试实例的个数,然后是n行长度不超过100的字符串。
 
Output
对于每个测试实例输出5行,格式如下:
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
           话说“请特别注意:最后一块输出后面没有空行”到底怎样擦算啊?我去
 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 }
View Code

猜你喜欢

转载自www.cnblogs.com/Auroras/p/10800188.html