Problem K: 零起点学算法107——统计元音
Time Limit: 1 Sec Memory Limit: 64 MB
Submit: 10515 Solved: 5127
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
HINT
#include <stdio.h>#include <string.h>int main(){int n;while (scanf("%d",&n) != EOF){getchar();int i,j;for (i = 0;i < n;i++){char str[110],zimu[6] = {'a','e','i','o','u'};int num[6] = {0};gets(str);for (j = 0;str[j] != '\0';j++){switch (str[j]){case 'a': num[0]++;break;case 'e': num[1]++;break;case 'i': num[2]++;break;case 'o': num[3]++;break;case 'u': num[4]++;break;}}if (i < n-1){for (j = 0;j < 4;j++){printf("%c:%d\n",zimu[j],num[j]);}printf("%c:%d\n\n",zimu[j],num[j]);}else{for (j = 0;j < 4;j++){printf("%c:%d\n",zimu[j],num[j]);}printf("%c:%d\n",zimu[j],num[j]);}}}return 0;}
这个题的话,用了case,就要记得考虑是否要加上break,还要多区回顾switch和case的用法。