#include <stdio.h> #define M 4 #define N 4 main() { int i,k; //外层循环控制行,内层循环控制列 int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}}; int b[M][N]; for(i=0;i<M;i++) for(k=0;k<M;k++) b[i][k]=a[k][i]; for(i=0;i<M;i++) { for(k=0;k<N;k++) printf("%5d",b[i][k]); printf("\n"); } }
数组里面最好多用#define函数,方便以后的改动。
其实这个代码也超级简单
就是两个嵌套的for循环就解决问题了
第一个嵌套for循环实现矩阵转换,把一维和二维一对调然后赋值给一个新的二维数组就行了 : b[i][k]=a[k][i]
第二个嵌套for循环实现输出,整个代码就完成了