c语言杭电acm统计元音总是答案错误是为什么?

http://acm.hdu.edu.cn/showproblem.php?pid=2027#include<stdio.h>#include<string.h>intm... http://acm.hdu.edu.cn/showproblem.php?pid=2027
#include<stdio.h>
#include<string.h>
int main()
{
char s[1000];int n,A,U,O,I,E,len;
scanf("%d",&n);
while(n--)
{ getchar();
gets(s);
len=strlen(s);
A=0;U=0;O=0;E=0;I=0;
for(int i=0;i<len;i++)
{
if(s[i]=='A'||s[i]=='a')
A++;
if(s[i]=='O'||s[i]=='o')
O++;
if(s[i]=='I'||s[i]=='i')
I++;
if(s[i]=='e'||s[i]=='E')
E++;
if(s[i]=='u'||s[i]=='U')
U++;
}
printf("a:%d\n",A);
printf("e:%d\n",E);
printf("i:%d\n",I);
printf("o:%d\n",O);
printf("u:%d",U);
if(n!=0)
printf("\n\n");
else
printf("\n");
}
return 0;
}
展开
 我来答
讉莣熔燃氺
推荐于2016-09-26 · TA获得超过450个赞
知道小有建树答主
回答量:376
采纳率:100%
帮助的人:94.2万
展开全部
getchar要放在while外面,这条语句只需要读了scanf("%d");后面的换行就行了,
gets会自动读取换行,所以就不需要getchar了。
yjf_victor
2014-11-29 · TA获得超过3524个赞
知道小有建树答主
回答量:1164
采纳率:100%
帮助的人:411万
展开全部
把getchar()移到while外面去。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
不愿相离
2014-11-29 · TA获得超过440个赞
知道小有建树答主
回答量:529
采纳率:0%
帮助的人:485万
展开全部
我运行了下是和上面答案一样呀
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式