- 矩阵转置是线性代数的基本运算,就是将矩阵的行、列交换,即将行变成列,将列变成行。要求编写程序,实现输入一个4行4列的矩阵,将矩阵转置后输出。
#include
int main() {
// 定义4行4列的原矩阵
int matrix[4][4];
int i, j;
// 1. 输入4行4列矩阵
printf("请输入4行4列矩阵(每行输入4个整数,用空格分隔):\n");
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
scanf("%d", &matrix[i][j]);
}
}
// 2. 矩阵转置(直接在原矩阵上交换,节省空间)
for (i = 0; i < 4; i++) {
// 只交换上三角区域,避免重复交换
for (j = i + 1; j < 4; j++) {
int temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
}
// 3. 输出转置后的矩阵
printf("转置后的矩阵为:\n");
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
运行结果如下: