统计每个元音字母在字符串中出现的次数。
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
# include<stdio.h>
#include<string.h>
int main()
{
int n, a, e, i, o, u, j, k;
char m[200], ch;
while(scanf("%d", &n) != EOF)
{
getchar();
for(k = 0; k < n; k++)
{
gets(m);
a = e = i = o = u = 0;
for(j = 0; m[j] != '\0'; j++)
switch(m[j])
{
case 'a': a++; break;
case 'e': e++; break;
case 'i': i++; break;
case 'o': o++; break;
case 'u': u++; break;
}
if(k == n - 1)
printf("a:%d\ne:%d\ni:%d\no:%d\nu:%d\n", a, e, i, o, u);
else
printf("a:%d\ne:%d\ni:%d\no:%d\nu:%d\n\n", a, e, i, o, u);
}
}
return 0;
}
AC代码,因为习惯上用i作为for循环里的变量。然后题目里又要统计i的个数。然后在switch函数里有i++。所以老是跑出Output Limit Exceed。所以我把一个for循环里的变量改为k了。