c语言二维数组矩阵转置

c语言二维数组矩阵转置

问题描述:

img

完整的代码如下,可以修改M、N的宏定义来修改数组大小


#include<stdio.h>
#define M 100
#define N 100
int main()
{
    int i,j,a, b,c[M][N];   
    scanf("%d %d", &a, &b);
    for (i = 0; i < a; i++)
        for (j = 0; j < b; j++)
            scanf("%d", &c[i][j]);
    for (i = 0; i < b; i++)
    {
        for (j = 0; j < a; j++)
            printf("%d\t", c[j][i]);
        printf("\n");
    }
    return 0;
}

你给他按列输出就完事了, 都用不着转置

矩阵输入到a[i][j],输出

for(i=0;i<3;i++)
{
  for(j=0;j<2;j++)
    printf("%d",a[j][i]);
  printf("\n");
}