c语言将一个二维数组行列元素互换,存到另一个二维数组中
时间: 2023-12-07 20:20:07 浏览: 43
可以使用两个for循环遍历原数组,然后将每个元素的行列互换后存入新数组中。以下是示例代码:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 4
void transpose(int A[][COLS], int B[][ROWS]) {
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
B[j][i] = A[i][j];
}
}
}
int main() {
int A[ROWS][COLS] = {{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}};
int B[COLS][ROWS];
transpose(A, B);
printf("Original Array:\n");
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("%d ", A[i][j]);
}
printf("\n");
}
printf("\nTransposed Array:\n");
for (int i = 0; i < COLS; i++) {
for (int j = 0; j < ROWS; j++) {
printf("%d ", B[i][j]);
}
printf("\n");
}
return 0;
}
```
输出结果为:
```
Original Array:
1 2 3 4
5 6 7 8
9 10 11 12
Transposed Array:
1 5 9
2 6 10
3 7 11
4 8 12
```