时间限制:
3000 ms | 内存限制:
65535 KB
难度:
2
-
描述
-
求一个三行三列的转置矩阵。
-
输入
-
第一行一个整数n<20,表示有n组测试数据,下面是n组数据;
每组测试数据是九个整型数(每个数都不大于10000),分别为矩阵的的每项;
输出
-
每组测试数据的转置矩阵;
请在每组输出之后加一个换行
样例输入
-
2 1 2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 9 1
样例输出
-
1 4 7 2 5 8 3 6 9 2 5 8 3 6 9
4 7 1
-
我的程序:
-
#include<iostream> using namespace std; float a[3][3]; void change(){ int i,j; float t; for(i=0;i<3;i++) for(j=i+1;j<3;j++){//从i+1开始。执行交换 t=a[i][j]; a[i][j]=a[j][i]; a[j][i]=t; } } int main(){ int n;cin>>n; while(n--) { int i,j; void change(); for(i=0;i<3;i++) for(j=0;j<3;j++)cin>>a[i][j]; change(); for(i=0;i<3;i++){ for(j=0;j<3;j++) cout<<a[i][j]<<" "; cout<<endl; } cout<<"\n"; } return 0; }
-
最优解:
-
#include<iostream> using namespace std; int main() { int num,a,b,c,d,e,f,g,h,i; cin>>num; while(num--) { cin>>a>>b>>c>>d>>e>>f>>g>>h>>i; cout<<a<<" "<<d<<" "<<g<<endl<<b<<" "<<e<<" "<<h<<endl<<c<<" "<<f<<" "<<i<<endl<<endl; } }
-
-
第一行一个整数n<20,表示有n组测试数据,下面是n组数据;