二维数组:转置矩阵并输出

#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循环实现输出,整个代码就完成了

猜你喜欢

转载自www.cnblogs.com/yhc99/p/9074075.html