【BestCoder Round #2 来了!】7月27号19:00~21:00(赛前30分钟停止注册比赛)
统计元音
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 36449 Accepted Submission(s): 15030
Problem Description 统计每个元音字母在字符串中出现的次数。
Input 输入数据首先包括一个整数n,表示测试实例的个数,然后是n行长度不超过100的字符串.
Output对于每个测试实例输出5行,格式如下:
a:num1
e:num2
i:num3
o:num4
u:num5
多个测试实例之间由一个空行隔开。
请特别注意:最后一块输出后面没有空行:
Sample Input
2
aeiou
Sample Output
a:1
e:1
i:1
o:1
u:1
a:2
e:1
i:3
o:0
u:1
my name is ignatius
做这道题时,思路很清晰,但犯了一个错误,致使提交了一天也总是AC不过,下面是我原始的代码。
#include
int main()
{
int j,n,a,e,i,o,u;
char c[110],*p;
while(scanf("%d",&n)!=EOF)
{
getchar();
for(j=0;j
gets(c);
a=0;
e=0;
i=0;
o=0;
u=0;
for(p=c;*p!='\0';p++)
{
if(*p=='a')
a=a+1;
if(*p=='e')
e=e+1;
if(*p=='i')
i=i+1;
if(*p=='o')
o=o+1;
if(*p=='u')
u=u+1;
}
printf("a:%d\n",a);
printf("e:%d\n",e);
printf("i:%d\n",i);
printf("o:%d\n",o);
printf("u:%d\n",u);
if(j
printf("\n");
}
return 0;
}
发现代码错误,改正时只是添加了一个花括号,AC!下面是改正后的代码。
#include
int main()
{
int j,n,a,e,i,o,u;
char c[110],*p;
while(scanf("%d",&n)!=EOF)
{
getchar();
for(j=0;j
{
gets(c);
a=0;
e=0;
i=0;
o=0;
u=0;
for(p=c;*p!='\0';p++)
{
if(*p=='a')
a=a+1;
if(*p=='e')
e=e+1;
if(*p=='i')
i=i+1;
if(*p=='o')
o=o+1;
if(*p=='u')
u=u+1;
}
printf("a:%d\n",a);
printf("e:%d\n",e);
printf("i:%d\n",i);
printf("o:%d\n",o);
printf("u:%d\n",u);
if(j
printf("\n");
}
}
return 0;
}图片
错误代码的调试运行结果。
图片
改正后的代码的调试运行结果。