L1X-2 矩阵转置 (10 分)

176 阅读1分钟

输入一个mXm的整数矩阵,进行转置后输出。2<n <20

输入格式:

第1行输入矩阵的行数。 其后的 m 行 每行输入m个整数,数据之间用空格分隔。

输出格式:

输出转置后的矩阵。数据之间用空格分隔,最后 一个数据后没有空格。

样例">样例">输入样例:

在这里给出一组输入。例如:

5
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25

输出样例:

在这里给出相应的输出。例如:

1 6 11 16 21
2 7 12 17 22
3 8 13 18 23
4 9 14 19 24
5 10 15 20 25

我用了一种不用转制的way:

代码如下:

C语言:

#include<stdio.h>
int main()
{
    int a[21][21];
    int n;
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            scanf("%d",&a[i][j]);
        }
    }
    for(int i=0;i<n;i++){
        printf("%d",a[0][i]);
        for(int j=1;j<n;j++){
            printf(" %d",a[j][i]);
        }
        printf("\n");
    }
}

C++: 

#include<iostream>
using namespace std;
int main()
{
    int a[21][21];
    int n;
    cin>>n;
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            cin>>a[i][j];
        }
    }
    for(int i=0;i<n;i++){
        cout<<a[0][i];
        for(int j=1;j<n;j++){
            cout<<" "<<a[j][i];
        }
        cout<<endl;
    }
}