函数,数组的排列问题
请教高手一道题目.一个数组怎样把最大数字的放在中间,最小的放在第一位?
比如a[7]={0,1,2,5,7,8,9 }
怎样把它变成{1,2,5,9,7,8,0}
把最大的9放在中间,就是把9和5的位置调换一下,
把最小0放到最后一位.
用以下两个函数写
void large_move
void small_move

凤凰涅磐,浴火重生!
程序代码:#include"stdio.h"
#define N 7
int b,temp,i,ln;
main()
{int a[N]={0,1,2,5,7,8,9};
large_move(a);
small_move(a);
output(a);
getch();
}
large_move(int a[])
{
b=a[0];
for(i=1;i<N;i++)
if(a[i]>b)
{b=a[i];ln=i;}
temp=a[(N-1)/2];
a[(N-1)/2]=b;
a[ln]=temp;
}
small_move(int a[])
{
b=a[0];
ln=0;
for(i=1;i<N;i++)
if(a[i]<b)
{b=a[i];ln=i;}
temp=a[N-1];
a[N-1]=b;
a[ln]=temp;
}
output(int a[])
{for(i=0;i<N;i++)
printf("%d ",a[i]);
}