1870 - 求转置矩阵问题

通过次数

0

提交次数

0

时间限制 : 3 秒 内存限制 : 128 MB

求一个三行三列的转置矩阵

题目输入

第一行一个整数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

C语言解答

#include <stdio.h>
int main(){
    int n;
    scanf("%d", &n);
    while(n--){
        int M[9], i;
        for(i = 0; i < 9; i++)
            scanf("%d", &M[i]);
        for(i = 0; i < 3; i++)
            printf("%d %d %d\n", M[i], M[i+3], M[i+6]);
        puts("");
    }
    return 0;
}

C++解答

#include<iostream>
using namespace std;
int main()
{
  int a[3][3],n,t,i,j;
  cin>>n;
  for(t=1;t<=n;t++)
  {
   for(j=0;j<3;j++)
	   for(i=0;i<3;i++)
		   cin>>a[i][j];
   for(i=0;i<3;i++)
   {
	   for(j=0;j<2;j++)
		   if(a[i][j]<=10000)
	    cout<<a[i][j]<<" ";
		   	if(a[i][j]<=10000)
	cout<<a[i][j]<<endl;
   }
   cout<<endl;
  }
  return 0;
}