#include<stdio.h> #include<stdlib.h> int i,j; void transpose(int **a){ int temp[3][3]; for(i=0;i<3;i++) for(j=0;j<3;j++) temp[i][j]=*((int *)a+3*i+j); for(i=0;i<3;i++) for(j=0;j<3;j++) *((int *)a+3*j+i)=temp[i][j]; } int main(){ int mat[3][3]; puts("Enter the matrix(3x3)."); for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%d",&mat[i][j]); transpose(mat); for(i=0;i<3;i++) for(j=0;j<3;j++){ printf("%d ",mat[i][j]); if(j==2) printf("\n"); } system("pause"); return 0; }
再创建2个变量表示矩阵行列数替换以上的3×3即可转置任意矩阵。
【学习笔记】C语言习题:写一函数,将一个3x3的整型矩阵转置
原文:https://www.cnblogs.com/adesoe/p/12814777.html