如何用C语言编写代码来实现一个3x3矩阵的转置操作?
时间: 2024-12-26 13:29:35 浏览: 3
在C语言中,可以使用二维数组来表示矩阵,并通过两个嵌套循环来实现矩阵的转置。这里是一个简单的示例:
```c
#include <stdio.h>
// 函数声明,接收一个3x3矩阵的指针和行数列数
void transpose(int matrix[3][3], int rows, int cols);
int main() {
int matrix[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; // 初始化一个3x3矩阵
int rows = 3, cols = 3; // 矩阵的行数和列数
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");
}
transpose(matrix, rows, cols); // 调用转置函数
printf("Transposed Matrix:\n");
for (int i = 0; i < cols; i++) {
for (int j = 0; j < rows; j++) {
printf("%d ", matrix[j][i]); // 注意交换了索引顺序
}
printf("\n");
}
return 0;
}
// 矩阵转置函数
void transpose(int matrix[3][3], int rows, int cols) {
for (int i = 0; i < rows; i++) {
for (int j = i+1; j < cols; j++) {
// 交换第i行第j列的元素和第j行第i列的元素
int temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
}
}
```
运行这段代码后,你会看到原始矩阵和它的转置。
阅读全文