牛客网上的题目
这道题目还是很简单的,只不过我们要多考虑一下,当矩阵的行大于列的时候,我们该如何打印我们的转置矩阵
当n(行)>m(列)时,我们打印转置矩阵的时候,就要先确定列数
当n < m时,我们打印转置矩阵的时候,就要先确定行数
利用for循环的嵌套
#include <stdio.h>
int main()
{
int arr[10][10] = { 0 };
int n, m;
scanf("%d %d", &n, &m);
int i = 0;
int j = 0;
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
{
scanf("%d", &arr[i][j]);
}
}
//n>m和n<m转置的矩阵有所差异,所以我将两个不同的情况分开
if (n <= m)
{
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
{
printf("%d ", arr[j][i]);
}
printf("\n");
}
}
else
{
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
{
printf("%d ", arr[j][i]);
}
printf("\n");
}
}
return 0;
}
运行结果大家就这自己试一下吧,我这里就不展示了