# 方阵转置

**问题描述**


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

**输入格式**

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

**输出格式**


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

**样例输入**

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

**样例输出**

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

## aop
### before
```cpp
#include <bits/stdc++.h>

using namespace std;
```
### after
```cpp

```

## 答案
```cpp
int main()
{
    int m, n;
    int a[20][20];
    int i, j;
    cin >> m >> n;
    for (i = 0; i < m; i++)
    {
        for (j = 0; j < n; j++)
        {
            cin >> a[j][i];
        }
    }
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < m; j++)
        {
            cout << a[i][j] << " ";
        }
        cout << endl;
    }
    return 0;
}

```
## 选项

### A
```cpp
int main()
{
    int m, n;
    int a[20][20];
    int i, j;
    cin >> m >> n;
    for (i = 0; i < m; i++)
    {
        for (j = 0; j < n; j++)
        {
            cin >> a[j][i];
        }
    }
    for (i = 0; i < n; i++)
    {
        for (j = m; j > 0; j--)
        {
            cout << a[i][j] << " ";
        }
        cout << endl;
    }
    return 0;
}
```

### B
```cpp
int main()
{
    int m, n;
    int a[20][20];
    int i, j;
    cin >> m >> n;
    for (i = 0; i < m; i++)
    {
        for (j = 0; j < n; j++)
        {
            cin >> a[j][i];
        }
    }
    for (i = n; i > 0; i--)
    {
        for (j = 0; j < m; j++)
        {
            cout << a[i][j] << " ";
        }
        cout << endl;
    }
    return 0;
}
```

### C
```cpp
int main()
{
    int m, n;
    int a[20][20];
    int i, j;
    cin >> m >> n;
    for (i = 0; i < m; i++)
    {
        for (j = 0; j < n; j++)
        {
            cin >> a[j][i];
        }
    }
    for (i = n; i > 0; i--)
    {
        for (j = m; j > 0; j--)
        {
            cout << a[i][j] << " ";
        }
        cout << endl;
    }
    return 0;
}
```
