题解 | 矩阵转置
#include<bits/stdc++.h> using namespace std; int N; int ar[101][101]; //位运算交换(利用异或的性质) void swap(int& x, int&y){ x = x ^ y; y = x ^ y; //y1 = x0 ^ y0 ^ y0 x = x ^ y; //x1 = x0 ^ y0 ^ x0 } int main(){ cin>>N; for(int i=0; i<N; ++i){ for(int j=0; j<N; ++j){ cin>>ar[i][j]; } } //ar[i][j]与ar[j][i]交换 for(int i=0; i<N; ++i){ for(int j=i+1; j<N; ++j){ swap(ar[i][j], ar[j][i]); } } //输出 for(int i=0; i<N; ++i){ for(int j=0; j<N; ++j){ cout<<ar[i][j]<<' '; } cout<<endl; } }