写一个函数,使给定的一个3×3的二维整型数组转置,即行列互换,用C语言。
时间: 2024-12-11 11:34:15 浏览: 13
C语言将给定的3× 3的整型数组转置(行列互换)。
在C语言中,你可以创建一个函数`transpose_matrix`来实现一个3x3矩阵的转置。这里是一个简单的例子:
```c
#include <stdio.h>
// 定义一个3x3的整数矩阵结构体
typedef struct {
int data[3][3];
} Matrix;
// 函数声明,接收一个Matrix指针并返回其转置后的矩阵
Matrix transpose(const Matrix *matrix);
// 主函数展示如何使用
int main() {
// 初始化一个3x3矩阵
Matrix original = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
// 打印原矩阵
printf("Original Matrix:\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", original.data[i][j]);
}
printf("\n");
}
// 转置矩阵
Matrix transposed = transpose(&original);
// 打印转置后的矩阵
printf("\nTransposed Matrix:\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", transposed.data[j][i]);
}
printf("\n");
}
return 0;
}
// 实现转置函数
Matrix transpose(const Matrix *matrix) {
Matrix transposed;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
transposed.data[j][i] = matrix->data[i][j]; // 行列交换
}
}
return transposed;
}
```
这个程序首先初始化一个3x3的矩阵,然后调用`transpose`函数获取其转置,最后打印出转置后的矩阵。
阅读全文