c语言3×4二维数组转置
时间: 2024-12-28 22:30:41 浏览: 10
在C语言中,将一个3×4的二维数组进行转置,就是交换数组行和列的位置。原数组通常是这样的:
```c
int arr[3][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
```
转置后的数组会变成:
```c
int transposedArr[4][3] = {
{1, 5, 9},
{2, 6, 10},
{3, 7, 11},
{4, 8, 12}
};
```
你可以通过循环遍历并临时保存元素的方式来完成这个操作,以下是简单的步骤:
1. 初始化一个新的3×4二维数组 `transposedArr`。
2. 对于原数组的每个元素,其位置为 `(i, j)`,在新数组中找到对应位置 `(j, i)` 存放该元素。
3. 使用两层嵌套循环:外层遍历原数组的行,内层遍历原数组的列。
下面是示例代码:
```c
#include <stdio.h>
void transpose(int arr[3][4], int transposedArr[4][3]) {
for (int i = 0; i < 3; ++i) {
for (int j = 0; j < 4; ++j) {
transposedArr[j][i] = arr[i][j];
}
}
}
int main() {
int arr[3][4] = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
int transposedArr[4][3];
transpose(arr, transposedArr);
// 打印转置后的数组
for (int i = 0; i < 4; ++i) {
for (int j = 0; j < 3; ++j) {
printf("%d ", transposedArr[i][j]);
}
printf("\n");
}
return 0;
}
```
运行这段代码,你会看到转置后的结果。
阅读全文