统计每个元音字母在字符串中出现的次数。
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:1a:2
e:1
i:3
o:0
u:1
问题解析:
测试实例的个数用数组解决,因为是字符串用string所以头文件也要加上string,用for来实现多组输入多组输出,易错点就是格式问题,每组输出后有一个空行,但是最后一组后面没有空行。
#include<iostream>
#include <string>
using namespace std;
int main()
{
string s[100];
int n;
int a[100]={
0},e[100]={
0},i[100]={
0},o[100]={
0},u[100]={
0};
cin>>n;
for(int b=0;b<n;b++)
{
cin>>s[b];
for(int k=0;k<s[b].size();k++)
{
if(s[b][k]=='a')
a[b]++;
if(s[b][k]=='e')
e[b]++;
if(s[b][k]=='i')
i[b]++;
if(s[b][k]=='o')
o[b]++;
if(s[b][k]=='u')
u[b]++;
}
}
for(int b=0;b<n;b++)
{
cout<<"a:"<<a[b]<<endl<<"e:"<<e[b]<<endl<<"i:"<<i[b]<<endl<<"o:"<<o[b]<<endl<<"u:"<<u[b]<<endl;
if(b!=n-1) cout<<endl;
}
}
文章评论