.写一个函数,使给定的一个3x3的二维整型数组转置◇即行列互换
时间: 2024-12-24 08:33:01 浏览: 22
当你提到要将一个3x3的二维整型数组转置,就是交换数组的行和列。在C语言中,可以通过创建一个新的二维数组并将原数组的元素按照新的顺序复制过去来实现这个操作。以下是一个简单的示例函数:
```c
#include <stdio.h>
// 定义一个用于表示3x3矩阵的结构体
typedef struct {
int data[3][3];
} Matrix;
// 函数声明,接受一个Matrix类型的参数并返回其转置
Matrix transpose(Matrix input);
// 主函数演示如何使用
void main() {
Matrix original = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
Matrix transposed = transpose(original);
// 打印转置后的矩阵
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", transposed.data[j][i]);
}
printf("\n");
}
}
// 实现转置函数
Matrix transpose(Matrix input) {
Matrix result;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
result.data[i][j] = input.data[j][i]; // 交换行和列
}
}
return result;
}
```
在这个例子中,`transpose`函数接收一个`Matrix`类型的参数,然后遍历输入数组,将每个元素放到新矩阵相应的位置(即原来的列变成新的行)。主函数中,我们首先定义了一个原始的3x3矩阵,然后调用`transpose`函数获取转置后的矩阵,并打印出来。
阅读全文