C语言中的函数来实现一个3x3二维矩阵的转置操作?
时间: 2024-11-12 22:44:28 浏览: 23
得一个 3×3 的矩阵转置,用一函数实现之。在主函数中用 scanf 函数输入矩阵元素
在C语言中,你可以创建一个函数来实现3x3二维数组(通常称为矩阵)的转置操作。这里是一个简单的示例,该函数接收一个3x3矩阵作为输入,并返回其转置后的矩阵:
```c
#include <stdio.h>
// 定义一个用于存储3x3矩阵的结构体
typedef struct {
int elements[3][3];
} Matrix;
// 函数声明,用于转置矩阵
Matrix transpose(Matrix original);
// 主函数,演示如何使用转置函数
void matrix_transpose_example() {
// 初始化一个3x3矩阵
Matrix m = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
// 转置矩阵并打印原始和转置矩阵
Matrix transposed = transpose(m);
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", transposed.elements[i][j]);
}
printf("\n");
}
}
// 实现转置函数
Matrix transpose(Matrix original) {
Matrix transposed;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
transposed.elements[j][i] = original.elements[i][j]; // 交换行和列的位置
}
}
return transposed;
}
int main() {
matrix_transpose_example();
return 0;
}
```
在这个例子中,`transpose`函数遍历原矩阵的每个元素,并将它们放到新矩阵(即转置矩阵)对应的位置。在`main`函数里,我们调用这个转置函数并打印结果。
阅读全文