统计元音
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 43782 Accepted Submission(s): 17887
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
Author
lcy
哎 自己不认真看 边看别人的代码边检查 终于发现了一个如此2B的错误 少打了一个\n 无论怎么改 所以都不对 因为没改到正确的地方
#include<stdio.h>
#include<string.h>
int main(){
int n;
int i,j,sum;
scanf("%d",&n);
getchar();
char a[100][102];
for (i=0;i<n;i++) gets(a[i]);
for (i=0;i<n;i++){
for (j=0,sum=0;j<strlen(a[i]);j++) if (a[i][j]=='a' || a[i][j]=='A') sum++;
printf("a:%d\n",sum);
for (j=0,sum=0;j<strlen(a[i]);j++) if (a[i][j]=='e' || a[i][j]=='E') sum++;
printf("e:%d\n",sum);
for (j=0,sum=0;j<strlen(a[i]);j++) if (a[i][j]=='i' || a[i][j]=='I') sum++;
printf("i:%d\n",sum);
for (j=0,sum=0;j<strlen(a[i]);j++) if (a[i][j]=='o' || a[i][j]=='O') sum++;
printf("o:%d\n",sum);
for (j=0,sum=0;j<strlen(a[i]);j++) if (a[i][j]=='u' || a[i][j]=='U') sum++;
if (i==n-1) printf("u:%d\n",sum); else printf("u:%d\n\n",sum);
//printf("u:%d\n",sum);
}
return 0;
}