用函数求矩阵的转置矩阵c语言
时间: 2024-12-06 22:09:16 浏览: 20
在C语言中,计算矩阵的转置可以通过两层循环来实现。矩阵的转置是指将原矩阵的行变成列,或者将列变成行。下面是一个简单的示例,假设我们有一个二维数组表示矩阵:
```c
#include <stdio.h>
// 定义矩阵转置函数
void transpose(int matrix[][], int rows, int cols) {
int transposed_matrix[cols][rows]; // 新矩阵用于存储转置结果
// 遍历原矩阵,交换行和列的位置
for (int i = 0; i < rows; ++i) { // 行索引
for (int j = 0; j < cols; ++j) { // 列索引
transposed_matrix[j][i] = matrix[i][j]; // 将原矩阵的元素复制到新矩阵对应位置
}
}
// 输出转置后的矩阵
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols; ++j) {
printf("%d ", transposed_matrix[j][i]);
}
printf("\n");
}
}
int main() {
int matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int rows = sizeof(matrix) / sizeof(matrix[0]);
int cols = sizeof(matrix[0]) / sizeof(matrix[0][0]);
transpose(matrix, rows, cols);
return 0;
}
```
在这个例子中,`transpose`函数接收一个二维数组、行数和列数作为输入,然后创建一个新的二维数组来存储转置结果。运行`main`函数,会打印出原矩阵的转置矩阵。
阅读全文