其实题干有问题,这就不是转置,按对角线翻转就好了
#include<iostream>
#include<vector>
using namespace std;
int main(){
int N;
while(cin >> N){
vector<vector<int>> nums(N, vector<int>(N));
for(int i = 0; i < N; i ++)
for(int j = 0; j < N; j ++)
cin >> nums[i][j];
// 按对角线翻转
for(int i = 0; i < N; i ++)
for(int j = 0; j < i; j ++)
swap(nums[i][j], nums[j][i]);
for(int i = 0; i < N; i ++){
for(int j = 0; j < N; j ++){
cout << nums[i][j] << " ";
}
cout << endl;
}
}
return 0;
} 
京公网安备 11010502036488号