题解 | #调整方阵#
调整方阵
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;
}
查看17道真题和解析