hdu 2027 统计元音

缘起

偶遇一水题,遂刷之. hdu 2027

分析

题意

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
统计每个元音字母在字符串中出现的次数。 

【输入】
输入数据首先包括一个整数n,表示测试实例的个数,然后是n行长度不超过100的字符串。

【输出】
对于每个测试实例输出5行,格式如下:
a:num1
e:num2
i:num3
o:num4
u:num5
多个测试实例之间由一个空行隔开。

请特别注意:最后一块输出后面没有空行:)

【样例输入】
2
aeiou
my name is ignatius

【样例输出】
a:1
e:1
i:1
o:1
u:1

a:2
e:1
i:3
o:0
u:1

简单的一逼. 就是O(n)搞定. 顺序扫描整个字符串即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//#include "stdafx.h"

#include <stdio.h>
#include <string.h>
//#define LOCAL

char a[105];
int b[30];

int main()
{
#ifdef LOCAL
freopen("d:\\data.in", "r", stdin);
#endif

int n;
scanf("%d", &n);
getchar();
while(n--)
{
memset(b,0,sizeof(b));
gets(a);
int i = 0;
while(a[i]) b[a[i++]-'a']++;
printf("a:%d\n",b['a'-'a']);
printf("e:%d\n",b['e'-'a']);
printf("i:%d\n",b['i'-'a']);
printf("o:%d\n",b['o'-'a']);
printf("u:%d\n",b['u'-'a']);
if (n) puts("");
}
return 0;
}

ac情况

Status Accepted
Memory 1720kB
Length 498
Lang C++
Submitted 2019-07-21 21:17:29
Shared
RemoteRunId 29808044