杭电acm 2027 原题地址http://acm.hdu.edu.cn/showproblem.php?pid=2027

#include<stdio.h>intmain(){chara[100];ints1,s2,s3,s4,s5,n,i;scanf("%d",&n);s1=0,s2=0,... #include<stdio.h>
int main()
{
char a[100];
int s1,s2,s3,s4,s5,n,i;
scanf("%d",&n);
s1=0,s2=0,s3=0,s4=0,s5=0;
getchar();
while(n--)
{
gets(a);
for(i=0;i<100&&a[i]!='\n';i++)
{
if(a[i]=='a')
s1++;
if(a[i]=='e')
s2++;
if(a[i]=='i')
s3++;
if(a[i]=='o')
s4++;
if(a[i]=='u')
s5++;
}
printf("a:%d\n",s1);
printf("e:%d\n",s2);
printf("i:%d\n",s3);
printf("o:%d\n",s4);
printf("u:%d\n",s5);
if(n)
printf("\n");
s1=0,s2=0,s3=0,s4=0,s5=0;
}
return 0;
}
展开
 我来答
花明影屋乐
2010-11-29 · 超过35用户采纳过TA的回答
知道答主
回答量:65
采纳率:0%
帮助的人:50万
展开全部
下面是AC过了的代码。你的代码有点细节毛病,自己看一下改改就可以了
#include <string.h>
#include<stdio.h>
int main()
{
char a[100];
int s1,s2,s3,s4,s5,n,i,j;
scanf("%d",&n);
getchar();
while(n--)
{
s1=s2=s3=s4=s5=0;
gets(a);
j = strlen(a);
for(i=0;i<j;i++)
{
if(a[i]=='a')
s1++;
if(a[i]=='e')
s2++;
if(a[i]=='i')
s3++;
if(a[i]=='o')
s4++;
if(a[i]=='u')
s5++;
}
printf("a:%d\n",s1);
printf("e:%d\n",s2);
printf("i:%d\n",s3);
printf("o:%d\n",s4);
printf("u:%d\n",s5);
if(n)
printf("\n");
}
return 0;
}
开鹏海0EC759
2010-11-28 · TA获得超过323个赞
知道小有建树答主
回答量:121
采纳率:0%
帮助的人:92.9万
展开全部
数组开大点,要考虑到100个字母还要加上结束符的情况
还有for循环不要这么写,直接取个字符串长度不是更好吗
这个题不难,主要在于细节的处理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式