矩阵转置 文件 c语言
时间: 2023-11-26 16:03:49 浏览: 38
矩阵转置是将矩阵的行和列互换得到一个新的矩阵。以下是使用C语言实现矩阵转置的示例代码:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 3
void transpose(int matrix[][COLS], int result[][ROWS]){
int i, j;
for(i = 0; i < ROWS; i++){
for(j = 0; j < COLS; j++){
result[j][i] = matrix[i][j];
}
}
}
int main(){
int matrix[ROWS][COLS] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int result[COLS][ROWS];
transpose(matrix, result);
printf("Original Matrix:\n");
for(int i = 0; i < ROWS; i++){
for(int j = 0; j < COLS; j++){
printf("%d ", matrix[i][j]);
}
printf("\n");
}
printf("Transposed Matrix:\n");
for(int i = 0; i < COLS; i++){
for(int j = 0; j < ROWS; j++){
printf("%d ", result[i][j]);
}
printf("\n");
}
return 0;
}
```
在这个示例代码中,我们定义了一个 `transpose` 函数,它接受一个二维数组 `matrix` 和一个二维数组 `result`,并将转置后的矩阵存储在 `result` 中。我们还定义了两个常量 `ROWS` 和 `COLS`,分别代表矩阵的行数和列数。
在主函数中,我们创建了一个 3x3 的矩阵,并将其传递给 `transpose` 函数。然后,我们打印出原始矩阵和转置后的矩阵。
运行结果如下:
```
Original Matrix:
1 2 3
4 5 6
7 8 9
Transposed Matrix:
1 4 7
2 5 8
3 6 9
```
可以看到,矩阵已经成功地被转置了。