//December 10,2014 By 12952010
#include<stdio.h>
#define row 3
#define column 3
int sort(int array[][column]){//冒泡排序
int temp,j,i;
int arr[row*column];
int k=0;
for(i=0; i<row; i++)
for( j=0; j<column ; j++){
arr[k++]= array[i][j];
}
for(i=0;i<row*column-1;i++)
for(j=0;j<row*column-i-1; j++)
if(arr[j+1]<arr[j]){
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
for(i=0 ,k=0; i<row; i++)
for( j=0; j<column ; j++){
array[i][j]=arr[k++];
}
}
void show(int array[][column] ){//显示数组元素
for( int i=0 ; i< row; i++ ) {
printf("\n");
for(int j=0; j<column; j++){
printf(" %4d ",array[i][j]);
}
}
}
void display(int array[][column]){//逆序输出
for(int i=row-1;i>=0;i--){
printf("\n");
for(int j=column-1;j>=0;j--)
printf(" %4d ",array[i][j]);
}
}
void setting(int array[][column]){//初始化数组
int temp=10;
for( int i=0; i<row; i++ ){
for( int j=0; j<column; j++)
array[i][j]=temp--;
}
}
int main(){
int array[row][column];
setting(array);
printf("\n\n-------Befor sort---------\n");
show(array);
printf("\n\n-------逆序输出---------\n");
display(array);
printf("\n\n-------After sort---------\n");
sort(array);
show(array);
return 0;
}
温馨提示:答案为网友推荐,仅供参考