c语言 矩阵转置。将一个二维数组行和列互换,存到另一个二维数组中。
时间: 2023-06-14 09:07:16 浏览: 173
以下是一个简单的 C 代码实现矩阵转置:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 3
void transpose(int matrix[ROWS][COLS], int transposed[COLS][ROWS]) {
int i, j;
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
transposed[j][i] = matrix[i][j];
}
}
}
void print_matrix(int matrix[ROWS][COLS]) {
int i, j;
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
}
int main() {
int matrix[ROWS][COLS] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
int transposed[COLS][ROWS];
transpose(matrix, transposed);
printf("Original Matrix:\n");
print_matrix(matrix);
printf("Transposed Matrix:\n");
print_matrix(transposed);
return 0;
}
```
代码中定义了两个二维数组 `matrix` 和 `transposed`,其中 `matrix` 是要进行转置的原始矩阵,`transposed` 是转置后的矩阵。
`transpose` 函数接受两个参数:原始矩阵和转置后的矩阵。函数内部使用两层循环遍历原始矩阵的行和列,并把对应的值存入转置矩阵中。
`print_matrix` 函数用于输出矩阵的值。在 `main` 函数中先初始化 `matrix`,然后调用 `transpose` 函数将其转置,并输出原始矩阵和转置后的矩阵。
阅读全文