#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("3*4矩阵转置\n");
int b[3][4];
int row, line;
//输入
for (row = 0;row < 3;row++) {
for (line = 0;line < 4;line++)
scanf("%d", &b[row][line]);
}
//显示输入的矩阵
for (row = 0;row < 3;row++) {
for (line = 0;line < 4;line++)
printf("%d", b[row][line]);
printf("\n");
}
//转置
int c[4][3];
for (row = 0;row < 3;row++) {
for (line = 0;line < 4;line++)
//行列转换
c[line][row] = b[row][line];//注意此处不能直接交换b中row和line
}
for (row = 0;row < 4;row++) {
for (line = 0;line < 3;line++)
printf("%d", c[row][line]);
printf("\n");
}
}
对于矩阵转置来说,不能将矩阵的两个元素直接在一个变量里进行换位
不然会发现没有方法对多行多列矩阵进行转置