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格式重写了题解,旧版题解参见参考链接。
这个题解程序是按通用编程来写的,只需要修改元音数组以及相关变量就可以用来统计其他字符数量。
给出C和C++语言两种解题程序。C语言的解题程序,如果要统计其他字符集的话,需要修改宏定义LEN和数组vowel[]。C++语言的解题程序,如果要统计其他字符集的话,只需要修改数组vowel[]。
程序说明:(略)
参考链接: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;
AC的C++语言程序如下:
/* HDU2027 统计元音 */
#include <bits/stdc++.h>
using namespace std;
const char vowel[] = "aeiou";
const int LEN = sizeof(vowel) / sizeof(char) - 1;
int cnt[LEN];
const int N = 100 + 1;
char s[N];
int main()
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 统计元音文本处理的主要内容,如果未能解决你的问题,请参考以下文章