以下是一个使用C语言编写的程序,该程序可以将给定的二维数组中的数按列的顺序存储到一个一维数组中:
```c
#include
int main() {
// 定义二维数组
int twoDArray[3][4] = {
{11, 22, 33, 44},
{11, 22, 33, 44},
{11, 22, 33, 44}
};
// 定义一维数组大小
int oneDArray[3 * 4]; // 因为二维数组有3行4列,所以一维数组大小为3*4
// 将二维数组按列的顺序存储到一维数组中
int colIndex = 0;
for (int col = 0; col < 4; ++col) { // 对于每一列
for (int row = 0; row < 3; ++row) { // 遍历每一行
oneDArray[colIndex++] = twoDArray[row][col]; // 将当前元素存入一维数组
}
}
// 输出一维数组的内容
for (int i = 0; i < 12; ++i) {
printf("%d ", oneDArray[i]);
}
printf("\n");
return 0;
}
```
编译并运行这个程序,输出将是一维数组的内容,即:
```
11 11 11 22 22 22 33 33 33 44 44 44
```
这段代码首先定义了一个3x4的二维数组`twoDArray`,并初始化为给定的内容。然后定义了一个大小为12(3行乘以4列)的一维数组`oneDArray`。通过两个嵌套的for循环,程序遍历二维数组的每一列和每一行,按列的顺序将元素放入一维数组中。最后,通过一个for循环,输出一维数组的内容。