描述
输入一个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>
#include<string.h>
int main()
{
int n, m, i, j;
scanf("%d %d", &n, &m); //行列范围
int a[100][100]; //定义数组
int b[100][100];
for (i = 0; i < n; i++) {
for (j = 0; j < m; j++) { //置换
scanf("%d", &a[i][j]);
b[j][i] = a[i][j];
}
}
for (i = 0; i < m; i++) { //输出置换后的矩阵
for (j = 0; j < n; j++) {
printf("%d ", b[i][j]);
}
printf("\n");
}
return 0;
}