solution.md 2.2 KB
Newer Older
每日一练社区's avatar
每日一练社区 已提交
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
# 方阵转置
#### 问题描述

给定一个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;
}
```