C#对整个二维数组的元素值升序排序,然后 按照列升序的矩阵形式输出排序后的结果

如题所述

#include <stdio.h>void A(int a[3][4]){ for(int i=0;i<3;i++) for(int j=0;j<4;j++) scanf("%d",&a[i][j]); for(i=0;i<3;i++){ for(int j=0;j<4;j++) printf("%d\t",a[i][j]); printf("\n"); }}void B(int a[3][4]){ int t,s; for(int i=0;i<3;i++) for(int j=0,y=0;j<4;j++){ s=0; t=a[i][j]; y=j; for(int x=i;x>=0;x--){ for(;y>=0;y--){ if(x==i && y==j) continue; if(t<a[x][y]){ a[x+(y+1)/4][(y+1)%4]=a[x][y]; a[x][y]=t; } else{ s=1; break; } } if(s==1) break; y=3; } } }void C(int a[3][4]){ for(int i=0;i<3;i++){ for(int j=0;j<4;j++) printf("%d\t",a[i][j]); printf("\n"); }}main(){ int a[3][4]={0}; A(a); B(a); printf("\n"); C(a);}

本回答由网友推荐
温馨提示:答案为网友推荐,仅供参考