原题:
统计每个元音字母在字符串中出现的次数。 |
输入数据首先包括一个整数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 |
原码:
#include <string.h>
#include <stdio.h>
int main(void)
{
int n;
int y[5];
char c;
scanf("%d%*c", &n);
while (n--)
{
y[0] = y[1] = y[2] = y[3] = y[4] = 0;
while ((c = getchar()) != '\n')
{
switch (tolower(c))
{
case 'a':
y[0]++;
break;
case 'e':
y[1]++;
break;
case 'i':
y[2]++;
break;
case 'o':
y[3]++;
break;
case 'u':
y[4]++;
break;
default :
break;
}
}
printf("a:%d\n", y[0]);
printf("e:%d\n", y[1]);
printf("i:%d\n", y[2]);
printf("o:%d\n", y[3]);
printf("u:%d\n", y[4]);
if (n) putchar('\n');
}
return 0;
}
2、
#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
int main()
{
int n, a, e, i, o, u, j, k, len;
char str[100];
cin>>n;
int m=n;
getchar();
int p=0;
while(n--)
{
a=0;
e=0;
i=0;
o=0;
u=0;
gets(str);
len=strlen(str);
for(k=0; k<len; k++)
{
if(str[k]=='a')
a++;
if(str[k]=='e')
e++;
if(str[k]=='i')
i++;
if(str[k]=='o')
o++;
if(str[k]=='u')
u++;
}
p++;
printf("a:%d\ne:%d\ni:%d\no:%d\nu:%d\n",a,e,i,o,u);
if(p<m)
cout<<endl;
}
return 0;
}