请问下面这段C语言代码错在哪里?

题目要求是将数组中的奇数和偶数分离,偶数在前,奇数在后。这段程序的输出结果和原数组一样,没有变化。#include<stdio.h>voidresort(inta[],i... 题目要求是将数组中的奇数和偶数分离,偶数在前,奇数在后。
这段程序的输出结果和原数组一样,没有变化。
#include<stdio.h>
void resort(int a[],int n)
{ int i=0,j=n-1,temp;
while(i<j)
{
while((i<j)&&(a[i]%2==0)) i++;
while((i<j)&&(a[i]%2!=0)) j--;
if(i<j)
{temp=a[j];
a[j]=a[i];
a[i]=temp;
i++;j--;
}

}
}
main()
{int a[10]={17,15,10,14,16,17,19,18,13,12} ,i;
printf("\n");
for(i=0;i<10;i++)
printf("%5d",a[i]);
resort(a,10);
printf("\n");
for(i=0;i<10;i++)
printf("%5d",a[i]);
getch();
}
展开
 我来答
WXD110114dccd8
2007-10-14 · TA获得超过2.9万个赞
知道大有可为答主
回答量:1.6万
采纳率:43%
帮助的人:7647万
展开全部
第七行:

while((i<j)&&(a[i]%2!=0)) j--;
改为
while((i<j)&&(a[j]%2!=0)) j--;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式