题目:写一函数,将一字符串中元音字母复制到另一字符串,然后输出。我的程序运行出汉字,求高手们解答。

程序如下:#include<stdio.h>voidcopy(chara[],charb[]){inti,j=0;for(i=0;i<10;i++){if(a[i]==9... 程序如下:
#include <stdio.h>
void copy (char a[],char b[])
{int i,j=0;
for (i=0;i<10;i++)
{if(a[i]==97||101||105||111||117)
{b[j]=a[i];
j++;}}
puts(b);}
void main()
{char a[10],b[10];
gets (a);
copy (a,b);}
展开
 我来答
突突无限
推荐于2018-03-28 · TA获得超过271个赞
知道答主
回答量:134
采纳率:100%
帮助的人:41.3万
展开全部
#include <stdio.h>
void copy (char a[],char b[])
{
int i,j=0;
for (i=0;i<10;i++)
{
if(a[i]==97||a[i]==101||a[i]==105||a[i]==111||a[i]==117)//原来的条件应该这样写
{
b[j]=a[i];
j++;
}
}
b[j]=0;//应该加一个字符串终止符,否则后面的复制时不能预见的
puts(b);
}
void main()
{
char a[10],b[10];
gets (a);
copy (a,b);
}
这是修改之后的程序,一共有两处错误,都注释了
希望能帮到你,欢迎追问^_^
kaixingui2012
2012-12-19 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6191万
展开全部
if(a[i]==97||101||105||111||117) 这条语句错误!应该改成:

if( a[i]=='a' || a[i]=='e' || a[i]=='i' || a[i]=='o' || a[i]=='u' ||
a[i]=='A' || a[i]=='E' || a[i]=='I' || a[i]=='O' || a[i]=='U' )
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式