将方阵a[3][3]
1 2 3
4 5 6
7 8 9
转置成
1 4 7
2 5 8
3 6 9
#include<stdio.h>
main(){
int i,j,t;
int a[3][3];
//输入
for(i=0;i<3;i++){
for(j=0;j<3;j++){
a[i][j]=i*n+j+1;
}
}
//转置
for(i=0;i<3;i++){
for(j=0;j<i;j++){ //注意:j<i 只转置一次;如果是j<3,转置了两次
t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
}
//输出
for(i=0;i<3;i++){
for(j=0;j<3;j++){
printf("%d ",a[i][j]);
}
printf("\n");
}
}
输出:
1 4 7
2 5 8
3 6 9