HDU2027 统计元音文本处理

Posted 海岛Blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU2027 统计元音文本处理相关的知识,希望对你有一定的参考价值。

统计元音
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 142819 Accepted Submission(s): 53569

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

Author
lcy

Source
C语言程序设计练习(四)

问题链接HDU2027 统计元音
问题简述:(略)
问题分析
  按Markdown格式重写了题解,旧版题解参见参考链接。
  这个题解程序是按通用编程来写的,只需要修改元音数组以及相关变量就可以用来统计其他字符数量。
程序说明:(略)
参考链接HDU2027 统计元音【入门】
题记程序员应该追求通用编程。

AC的C语言程序如下:

/* HDU2027 统计元音 */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define LEN 5
char vowel[] = "aeiou";
int cnt[LEN];
#define N 100 + 1
char s[N];

int main(void)
{
    int n, i, j;
    fgets(s, N, stdin);
    n = atoi(s);
    while (n--) {
        fgets(s, N, stdin);

        memset(cnt, 0, sizeof(cnt));
        for (i = 0; s[i] != '\\n'; i++)
            for (j = 0; j < LEN; j++)
                if (s[i] == vowel[j]) cnt[j]++;

        /* 输出结果 */
        for (i = 0; i < LEN; i++)
            printf("%c:%d\\n", vowel[i], cnt[i]);
        if (n) printf("\\n");
    }

    return 0;
}

以上是关于HDU2027 统计元音文本处理的主要内容,如果未能解决你的问题,请参考以下文章

hdu 2027 统计元音

hdu 2027 统计元音

HDoj 2027 统计元音

HDU 2027 汉字统计

hdu-2027题&&gets/getchar的区别

文本项目系列[2]——字符串元音字母次数统计