题解 | #调整方阵#
调整方阵
https://www.nowcoder.com/practice/053875842995497e937ac58f65cddfae
#include <stdio.h> void func(int a[][21],int i,int N){ int max=i;//默认第i列上,从第i行开始,第i行i列的数最大 for(int j=i+1;j<N;j++){//j从i+1行开始遍历 if(a[max][i]<a[j][i])max=j; } for(int j=0;j<N;j++){ int temp=a[max][j]; a[max][j]=a[i][j]; a[i][j]=temp; } } int main(){ int a[21][21]; int N; while(scanf("%d",&N)!=EOF){ for(int i=0;i<N;i++) for(int j=0;j<N;j++) scanf("%d",&a[i][j]); for(int i=0;i<N-1;i++){ func(a,i,N); } for(int i=0;i<N;i++) for(int j=0;j<N;j++){ printf("%d ",a[i][j]); if(j==N-1)printf("\n"); } } return 0; }