/*****************************************************
copyright (C), 2016-2017, Lighting Studio. Co., Ltd.
File name:
Author:luoye Version:0.1 Date:
Description:
Funcion List:
*****************************************************/
#include <stdio.h>
#include <time.h>
#define N 6
//偶数行以由小到大排序
int find_min(int a[N][N],int line)
{
int i, j, temp;
for(i=0;i<N;i++)
{
for(j=0;j<N-1-i;j++)
{
if(a[line][j]>a[line][j+1])
{
temp=a[line][j];
a[line][j]=a[line][j+1];
a[line][j+1]=temp;
}
}
}
}
//奇数行由大到小排序
int find_max(int a[N][N],int line)
{
int i, j, temp;
for(i=0;i<N;i++)
{
for(j=0;j<N-1-i;j++)
{
if(a[line][j]<a[line][j+1])
{
temp=a[line][j];
a[line][j]=a[line][j+1];
a[line][j+1]=temp;
}
}
}
}
int main()
{
int a[N][N];
int i, j;
srand(time(NULL)); //输出随即的数组
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
a[i][j]=rand()%1000;
printf("%4d",a[i][j]);
}
printf("\n");
}
printf("\n");
for(i=0;i<6;i++)
{
if(i%2==0)
{
find_min(a,i); //偶数行找最小的数
}
else
{
find_max(a,i); //奇数行找最大的数
}
}
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
printf("%4d",a[i][j]);
}
printf("\n");
}
return 0;
}
对N行N列二维数组的每一行排序,偶数行(0当作偶数)由小到大排序,奇数行由大到小排序。