C语言将二维数组行列元素互换,存到另一个数组中
时间: 2023-12-07 16:49:03 浏览: 101
可以通过循环遍历原数组,将行列元素互换后存储到另一个数组中。具体代码如下:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 4
int main() {
int arr[ROWS][COLS] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
int transposed[COLS][ROWS]; // 存储转置后的数组
// 输出原数组
printf("Original array:\n");
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
// 转置数组
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
transposed[j][i] = arr[i][j];
}
}
// 输出转置后的数组
printf("\nTransposed array:\n");
for (int i = 0; i < COLS; i++) {
for (int j = 0; j < ROWS; j++) {
printf("%d ", transposed[i][j]);
}
printf("\n");
}
return 0;
}
```
这里我们定义了两个二维数组 `arr` 和 `transposed`,其中 `arr` 是原始数组,`transposed` 是转置后的数组。首先我们输出原数组,然后使用嵌套循环遍历原数组,将行列元素互换后存储到 `transposed` 数组中。最后输出转置后的数组。
阅读全文