对N行N列二维数组的每一行排序,偶数行(0当作偶数)由小到大排序,奇数行由大到小排序
#include <stdio.h>
#define M 5
void Sort(int (p)[M]);
int main()
{
int a[4][M] = {{1,5,3,7,8},{8,7,6,2,6},{8,4,1,2,6},{1,4,52,3,6}};
Sort(a);
return 0;
}
void Sort(int (p)[M])
{
int i,j,h;
for(i=0;i<4;i++)
{
if(i%20||i0)
{
for(j=0;j<M;j++)
{
for(h=j+1;h<M;h++)
{
if(((p+i)+j)>((p+i)+h))
{
int temp = ((p+i)+j);
((p+i)+j) = ((p+i)+h);
((p+i)+h) = temp;
}
}
}
}
else
{
for(j=0;j<M;j++)
{
for(h=j+1;h<M;h++)
{
if(*(*(p+i)+j)<*(*(p+i)+h))
{
int temp = *(*(p+i)+j);
*(*(p+i)+j) = *(*(p+i)+h);
*(*(p+i)+h) = temp;
}
}
}
}
}
for(i = 0;i<4;i++)
{
for(j=0;j<5;j++)
{
printf("%5d",*(*(p+i)+j));
}
printf("\n");
}
}