C语言定义一个函数,求3*3矩阵的转置用函数实现
时间: 2024-11-27 11:08:33 浏览: 89
得一个 3×3 的矩阵转置,用一函数实现之。在主函数中用 scanf 函数输入矩阵元素
在C语言中,我们可以定义一个函数来计算一个3x3矩阵的转置。矩阵转置是指将矩阵的行变成列,列变成行。这里是一个简单的例子,我们将创建一个名为`transpose_matrix`的函数,接受一个3x3的二维数组作为输入,并返回其转置后的数组。
```c
#include <stdio.h>
// 定义一个函数来求3x3矩阵的转置
void transpose_matrix(int matrix[3][3], int transposed[3][3]) {
for (int i = 0; i < 3; i++) { // 遍历矩阵的所有行
for (int j = i; j < 3; j++) { // 将当前行的元素放到对应的列
transposed[j][i] = matrix[i][j]; // 取matrix[i][j]并放到transposed[j][i]
}
}
}
// 测试函数
int main() {
int original[3][3] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
int transposed[3][3];
// 转换原矩阵
transpose_matrix(original, transposed);
// 打印转置后的矩阵
printf("转置后的矩阵:\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", transposed[i][j]);
}
printf("\n");
}
return 0;
}
```
当你运行这个程序,它会打印出原始矩阵的转置结果。这是通过两层嵌套循环实现的,外层用于遍历行,内层用于交换对应位置的元素。
阅读全文