二维数组转置的编程方法如下:
声明两个数组:
一个用于存放原数组元素,另一个用于存放转置后的元素。
输入原数组元素:
使用嵌套的for循环遍历原数组,并将元素输入到第一个数组中。
转置数组:
通过交换原数组的横纵坐标对应的元素来实现转置,即`b[j][i] = a[i][j]`。
输出转置后的数组:
使用嵌套的for循环遍历转置后的数组,并输出每个元素。
```c
include
void transpose(int a) {
int b;
int i, j;
// 转置
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
b[j][i] = a[i][j];
}
}
// 输出转置后的数组
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", b[i][j]);
}
printf("\n");
}
}
int main() {
int a;
int i, j;
// 输入原数组元素
printf("Please enter an array:\n");
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
scanf("%d", &a[i][j]);
}
}
// 调用转置函数
transpose(a);
return 0;
}
```
解释
函数定义:
`void transpose(int a)` 定义了一个名为 `transpose` 的函数,接受一个 3x3 的二维数组 `a` 作为参数。
转置操作:
在 `transpose` 函数中,声明了一个同样大小的数组 `b`,并通过嵌套的for循环将 `a` 的元素转置到 `b` 中。
输出结果:
在 `main` 函数中,输入原数组 `a` 的元素,然后调用 `transpose` 函数进行转置,最后输出转置后的数组 `b`。
这个方法适用于任何大小的二维数组,只需调整数组的大小和输入输出的格式即可。