代码:
#include <stdio.h>
#define N 3
int main(){
void change(int array[][N]);
int arr[N][N];
printf("请输入%d个值:\n",N*N);
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
scanf("%d",&arr[i][j]);
}
}
printf("原矩阵为:\n");
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
printf("%d ",arr[i][j]);
}
printf("\n");
}
change(arr);
return 0;
}
void change(int array[][N]){
int temp;
for(int i=0;i<N;i++){
for(int j=i+1;j<N;j++){
//易错:j不能从0开始
temp=array[i][j];
array[i][j]=array[j][i];
array[j][i]=temp;
}
}
printf("转置后的矩阵为:\n");
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
printf("%d ",array[i][j]);
}
printf("\n");
}
}
运行结果: