C语言编写程序,求一个4×4矩阵的转置矩阵,并输出该转置矩阵。
时间: 2023-09-27 11:04:01 浏览: 276
以下是一个具体的实现方法:
```c
#include <stdio.h>
void transpose(int matrix[4][4]) {
int row, col, temp;
for (row = 0; row < 4; row++) {
for (col = row + 1; col < 4; col++) {
temp = matrix[row][col];
matrix[row][col] = matrix[col][row];
matrix[col][row] = temp;
}
}
}
int main() {
int matrix[4][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12},
{13, 14, 15, 16}
};
int row, col;
printf("原始矩阵:\n");
for (row = 0; row < 4; row++) {
for (col = 0; col < 4; col++) {
printf("%d ", matrix[row][col]);
}
printf("\n");
}
transpose(matrix);
printf("\n转置矩阵:\n");
for (row = 0; row < 4; row++) {
for (col = 0; col < 4; col++) {
printf("%d ", matrix[row][col]);
}
printf("\n");
}
return 0;
}
```
程序的运行结果如下:
```
原始矩阵:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
转置矩阵:
1 5 9 13
2 6 10 14
3 7 11 15
4 8 12 16
```
该程序首先定义了一个 4x4 的矩阵,并通过双重循环打印出原始矩阵。然后定义了一个名为 `transpose` 的函数来计算矩阵的转置。该函数遍历矩阵的上三角元素(即 `matrix[row][col]`,其中 `row < col`),并将其与对应的下三角元素(即 `matrix[col][row]`)进行交换,从而实现转置。最后,程序再次通过双重循环打印出转置后的矩阵。
阅读全文