易错点
主要就是格式,注意最后一个输出要单独拿出来输出,不能有空格或者换行。
Description:
输入N*N的矩阵,输出它的转置矩阵。矩阵的转置操作,即把矩阵的行元素变为列元素、列元素变为行元素的过程。
Input:
第一行为整数N。接着是一个N*N的矩阵。N<=20
Output:
转置矩阵。数字之间用空格隔开,结尾无空格,两行之间无空行。
Sample Input:
2
1 2
1 2
Sample Output:
1 1
2 2
#include <iostream>
#include "vector"
using namespace std;
/**
* kkmd66
* @return
*/
int main() {
int n;
cin >> n;
//存储
vector<vector<int>> matrix(n);
for (int i = 0; i < n; ++i) {
for (int j = 0; j < n; ++j) {
int a;
cin >> a;
matrix[i].push_back(a);
}
}
//输出
for (int i = 0; i < n - 1; ++i) {
for (int j = 0; j < n - 1; ++j) {
cout << matrix[j][i] << " ";
}
cout << matrix[n-1][i]<<endl;
}
for (int i = 0; i < n-1; ++i) {
cout<<matrix[i][n-1]<<" ";
}
cout<<matrix[n-1][n-1];
return 0;
}