c语言基础题 统计每个元音字母在字符串中出现的次数

输入:2aeioumynameisignatius输出:a:1e:1i:1o:1u:1a:2e:1i:3o:0u:1各位高手帮我看看哪里错了?#include<stdio... 输入:
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

各位高手帮我看看哪里错了?
#include<stdio.h>
#include<string.h>
char a[100];
int i,j,n,as,es,is,os,us,num=0;
main()
{
scanf("%d",&n);
getchar();
for(i=0;i<n;i++)
{
as=es=is=os=us=0;
gets(a);
j=strlen(a);
printf("%d",j);
for(j=0;;j++)
{
if(a[j]=='\n') break;
if(a[j]=='a') {as++;}
else if(a[j]=='e') {es++;}
else if(a[j]=='i') {is++;}
else if(a[j]=='o') {os++;}
else if(a[j]=='u') {us++;}
else {num++;}
}
printf("a:%d\n",as);
printf("e:%d\n",es);
printf("i:%d\n",is);
printf("o:%d\n",os);
if(j==n-1){printf("u:%d\n",us);}
else{printf("u:%d\n\n",us);}
}
return 0;
}
printf("%d",j); 多输了
展开
 我来答
kongwq16
2010-10-24 · TA获得超过392个赞
知道小有建树答主
回答量:308
采纳率:0%
帮助的人:278万
展开全部
杯具啊,我搞了很久很久,就是没想到这个if(a[j]=='\n') break;
应该是if(a[j]=='\0') break;
结束符是'\0'看来我太粗心了,我就觉得奇怪,为什么我自己写了遍就可以正确显示,你的就不能!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式