求转置矩阵问题
-
描述
-
求一个三行三列的转置矩阵。
-
输入
-
第一行一个整数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
-
第一行一个整数n<20,表示有n组测试数据,下面是n组数据;
开了两个数组,一个用于存输入的数,另一个用来存转置后的数
代码如下(已AC):
#include <stdio.h>
#include <stdlib.h>
#include<math.h>
#include<string.h>
int main()
{
int qian[3][3],hou[3][3];
int n,i,j,k;
memset (hou,0,sizeof(hou));
scanf ("%d",&n);
for (k=0;k<n;k++)
{
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
{
scanf ("%d",&qian[i][j]);
}
}
/*for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
{
printf ("%d ",qian[i][j]);
}
printf ("\n");
}*/
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
{
hou[j][i]=qian[i][j];
}
}
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
{
printf ("%d ",hou[i][j]);
}
printf ("\n");
}
}
return 0;
}