# 方阵转置 **问题描述** 给定一个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 ``` 请从以下四个选项中选择正确的代码填补空白处,实现方阵转置功能。 ```c #include using namespace std; 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]; } } __________________ return 0; } ``` ## 答案 ```c for (i = 0; i < n; i++) { for (j = 0; j < m; j++) { cout << a[i][j] << " "; } cout << endl; } ``` ## 选项 ### A ```c for (i = 0; i < n; i++) { for (j = 0; j < m; j++) { cout << a[i-1][j] << " "; } cout << endl; } ``` ### B ```c for (i = 0; i < n; i++) { for (j = 0; j < m; j++) { cout << a[i][j-1] << " "; } cout << endl; } ``` ### C ```c for (i = 0; i < n; i++) { for (j = 0; j < m; j++) { cout << a[i-1][j-1] << " "; } cout << endl; } ```