Description
求一个m×n阶矩阵A的转置矩阵AT。矩阵A的每个元素都在int类型的范围之内。
Input
输入的第一行为一个整数M(M>0),后面有M组输入数据。每组数据以两个正整数m和n开始,满足0<m,n<=100,接下来为一个m行n列的矩阵A。
Output
输出为多组,每组输出A的转置矩阵AT。矩阵的输出为:每行两个元素之间用一个空格分开,每行最后一个元素之后为一个换行,在下一行开始输出矩阵的下一行。每两组输出之间用一个空行分隔开。
Sample Input
13 31 2 34 5 67 8 9
Sample Output
1 4 72 5 83 6 9
HINT
二维数组存储矩阵。
Append Code
#include<stdio.h>
#include<string.h>//完全不懂,干了十三遍感觉思路完全没问题,结果下午开完会一回来重写就ac了
int main()
{
int a[105][105];
memset(a,0,sizeof(a));
int i,n,b,c,d,x,flag=1;
scanf("%d",&x);
while(x--)
{
scanf("%d %d",&c,&d);
for(i=0; i<c; i++)
{
for(n=0; n<d; n++)
{
scanf("%d",&a[i][n]);//输入矩阵,输出的时候改变输出方式
}
}
for(i=0;i<d;i++)
{
for(n=0;n<c;n++)
{
if(flag==0)printf(" %d",a[n][i]);
if(flag==1){
printf("%d",a[n][i]);
flag=0;
}
}
flag=1;
printf("\n");
}
if(x)printf("\n");
}
return 0;
}
/**************************************************************
Problem: 1053
User: 201701060928
Language: C
Result: Accepted
Time:8 ms
Memory:748 kb
****************************************************************/