任意给定一个n*m的矩阵,矩阵的行数为n,列数为m。你的任务是实现矩阵的转置,即行列互换。
输入格式:
第一行为两个整数n、m,代表矩阵的行数与列数,n、m的范围均是1—100。然后输入n*m个整数,即此矩阵的元素。。
输出格式:
经过矩阵转置得到的新矩阵,新矩阵占m行,n列。每行的每个元素用空格分隔,注意最后一个数的后面为换行符。
输入样例:
3 5
5 5 5 5 5
3 3 3 3 3
1 1 1 1 1
输出样例:
5 3 1
5 3 1
5 3 1
5 3 1
5 3 1
代码如下:
#include<stdio.h>
int main()
{
int m, n, i, j;
scanf("%d %d", &m, &n);//行 列
int a[100][100] = { 0 };
for (i = 0; i < m; i++)
for (j = 0; j < n; j++)
scanf("%d", &a[i][j]);
for (i = 0; i < n; i++)
{
printf("%d", a[0][i]);
for (j = 1; j < m; j++)
printf(" %d", a[j][i]);
printf("\n");
}
}
只要在输出的时候按转置的输出即可