题目 2252: 矩阵转置

题目

给定一个n×m矩阵相乘,求它的转置。其中1≤n≤20,1≤m≤20,矩阵中的每个元素都在整数类型(4字节)的表示范围内。

输入
第一行两个整数n和m;
第二行起,每行m个整数,共n行,表示n×m的矩阵。数据之间都用一个空格分隔。

1≤n≤20,1≤m≤20

输出
共m行,每行n个整数,数据间用一个空格分隔,表示转置后的矩阵。

样例输入

2 4
34 76 -54 7
-4 5 23 9

样例输出

34 -4
76 5
-54 23
7 9

解题思路

先读入,后按列输出即可,每一列输出完即可换行。

代码

#include
int main()
{
    int i,j,r,c;
    scanf("%d %d",&r,&c);
    int a[r][c];
    for (i=0;i<r;i++)
        for (j=0;j<c;j++)
            scanf("%d",&a[i][j]);
    for (i=0;i<c;i++)
    {
        for (j=0;j<r;j++)
        {
            if (j!=0)
                printf(" ");
            printf("%d",a[j][i]);
        }
        printf("\n");
    }
    return 0;
}

你可能感兴趣的:(蓝桥杯真题(C/C++),c语言,蓝桥杯)