10:矩阵转置
总时间限制:
1000ms
内存限制:
65536kB
描述
输入一个n行m列的矩阵A,输出它的转置AT。
输入
第一行包含两个整数n和m,表示矩阵A的行数和列数。1 <= n <= 100,1 <= m <= 100。
接下来n行,每行m个整数,表示矩阵A的元素。相邻两个整数之间用单个空格隔开,每个元素均在1~1000之间。
输出
m行,每行n个整数,为矩阵A的转置。相邻两个整数之间用单个空格隔开。
样例输入
3 3 1 2 3 4 5 6 7 8 9
样例输出
1 4 7 2 5 8 3 6 9
#include<stdio.h>
int main()
{ int a[100][100],b[100][100]={0};
int m,n;
scanf("%d%d",&m,&n);
int i,j;
for(i=0;i<m;i++)
for(j=0;j<n;j++){
scanf("%d",&a[i][j]);
}
for(i=0;i<n;i++)
for(j=0;j<m;j++){
b[i][j]=a[j][i];
}
for(i=0;i<n;i++){
for(j=0;j<m;j++){
printf("%d",b[i][j]);
printf(" ");
}
printf("\n");
}
return 0;
}
注意最后内外循环终点。