奇偶排序,怎么一直是错误的输出结果?

「已注销」
博客专家认证
2013-10-11 03:34:12
参考360百科的奇偶排序,但是就是一直排不正确。帮忙看看,错在哪儿?
#include <stdio.h>
#define N 10
int n=0;
void Print_Array(int a[],int length);

int main()
{
int array[N]={0};
printf("Inter the array long\n");
scanf("%d",&n);
int i=0;
for(i=0;i<n;i++)
scanf("%d",&array[i]);
Print_Array(array,n);

//算法部分!!!!
int temp=0;
for(int j=1;j<=2;j++)
{
for(i=1;i<n;i+=2)
{
if(array[i-1]>array[i])
{
temp=array[i-1];
array[i-1]=array[i];
array[i]=temp;
}
}
for(i=2;i<n;i+=2)
{
if(array[i-1]>array[i])
{
temp=array[i-1];
array[i-1]=array[i];
array[i]=temp;
}
}
}
Print_Array(array,n);
return 0;
}

//输出函数
void Print_Array(int a[],int length)
{
for(int i=0;i<n;i++)
{
printf("%d ",a[i]);
}
printf("\n");

}

...全文
102 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 4 楼 zhang5476499 的回复:
[quote=引用 1 楼 qq523176585 的回复:] for(int i=0;i<n;i++) { printf("%d ",a[i]); } 你这个n没有定义啊,应该是length
改了之后也不是正确的输出,难道是我的理解错误了?[/quote] 为什么我这边可以,不要用VC6.0编译,不支持在函数后面定义新的变量
「已注销」 2013-10-11
  • 打赏
  • 举报
回复
引用 1 楼 qq523176585 的回复:
for(int i=0;i<n;i++) { printf("%d ",a[i]); } 你这个n没有定义啊,应该是length
改了之后也不是正确的输出,难道是我的理解错误了?
「已注销」 2013-10-11
  • 打赏
  • 举报
回复
引用 2 楼 AnYidan 的回复:
学会debug
dubeg了一下午。。。。。。。。。
AnYidan 2013-10-11
  • 打赏
  • 举报
回复
学会debug
  • 打赏
  • 举报
回复
for(int i=0;i<n;i++) { printf("%d ",a[i]); } 你这个n没有定义啊,应该是length

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧