c语言编写一个函数void trans(int a[][3]),使得给定的二维数组(3*3)进行转置操作
时间: 2025-01-02 12:48:44 浏览: 8
在C语言中,要编写一个函数`void trans(int a[][3])`来实现3x3二维数组的转置操作,可以创建一个新的3x3数组,并将原数组的行元素交换到新数组的列元素位置。这里是一个简单的示例:
```c
#include <stdio.h>
// 函数声明
void transpose(int a[3][3], int b[3][3]);
int main() {
// 初始化一个3x3的二维数组
int original[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
// 创建用于存储转置结果的新数组
int transposed[3][3];
// 调用trans函数进行转置
transpose(original, transposed);
// 打印转置后的数组
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", transposed[i][j]);
}
printf("\n");
}
return 0;
}
// 转置函数实现
void transpose(int a[3][3], int b[3][3]) {
for (int i = 0; i < 3; i++) {
for (int j = 0; j < i; j++) {
// 交换a矩阵的行i和列j的值到b矩阵对应位置
int temp = a[i][j];
a[i][j] = a[j][i]; // 行转列
a[j][i] = temp; // 列转回行
}
}
}
```
在这个例子中,我们首先初始化了一个3x3的数组`original`,然后调用`transpose`函数对其进行转置,最后打印出转置后的数组`transposed`。
阅读全文