【题目描述】
输入一个n行m列的矩阵A,输出它的转置AT。
【输入】
第一行包含两个整数n和m,表示矩阵A的行数和列数(1<=n<=100,1<=m<=100)。
接下来n行,每行m个整数,表示矩阵A的元素。相邻两个整数之间用单个空格隔开,每个元素均在1~1000之间。
【输出】
m行,每行n个整数,为矩阵A的转置。相邻两个整数之间用单个空格隔开。
【输入样例】
3 3
1 2 3
4 5 6
7 8 9
【输出样例】
1 4 7
2 5 8
3 6 9
代码:
#include <bits/stdc++.h>
using namespace std;
const int maxn = 1010;
int a[maxn][maxn];
int main(){
int m, n;
cin >> m >> n; //输入行和列
for (int i = 1; i <= m; i++){
for (int j = 1; j <= n; j++)
cin >> a[i][j]; //这里是a[i][j]
}
for (int i = 1; i <= n; i++){ //注意和上面区分
for (int j = 1; j <= m; j++){
cout << a[j][i] << " "; //这里是a[j][i]
}
cout << endl;
}
return 0;
}
本题考查二维数组
结果:
通过
测试点 | 结果 | 内存 | 时间 |
测试点1 | 答案正确 | 680KB | 5MS |
测试点2 | 答案正确 | 832KB | 13MS |
测试点3 | 答案正确 | 676KB | 11MS |
测试点4 | 答案正确 | 616KB | 6MS |
测试点5 | 答案正确 | 992KB | 12MS |
测试点6 | 答案正确 | 928KB | 7MS |
测试点7 | 答案正确 | 904KB | 7MS |
测试点8 | 答案正确 | 908KB | 5MS |
测试点9 | 答案正确 | 616KB | 7MS |
测试点10 | 答案正确 | 624KB | 6MS |