c语言编写程序,将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中
时间: 2024-12-23 22:19:28 浏览: 0
在C语言中,将M行N列的二维数组转换成一维数组的过程通常称为“扁平化”或“展平”。你可以通过嵌套循环来实现这个操作。以下是步骤和一个简单的示例代码:
```c
#include <stdio.h>
void flatten(int arr[][N], int M, int one_dim[], int N_cols) {
int i, j, k = 0;
for (i = 0; i < M; i++) { // 遍历每一行
for (j = 0; j < N_cols; j++) { // 将当前行的元素复制到一维数组
one_dim[k++] = arr[i][j];
}
}
}
int main() {
int two_dim[M][N], one_dim[N * M]; // 原始二维数组和目标一维数组
// 初始化二维数组...
flatten(two_dim, M, one_dim, N); // 调用函数进行扁平化
// 打印一维数组的内容
for (int i = 0; i < N * M; i++) {
printf("%d ", one_dim[i]);
}
return 0;
}
```
在这个例子中,`flatten` 函数接受二维数组 `arr`、行数 `M`、目标一维数组 `one_dim` 和列数 `N_cols`。内部的两个for循环分别负责遍历每一行和每列,并把元素添加到一维数组的相应位置。
阅读全文