C 语言中的数组连接程序
要连接两个数组,我们至少需要三个数组变量。我们将取两个数组,然后根据某些约束将它们的内容复制到一个数组中。在此示例中,我们将取两个数组,一个数组将保存偶数值,另一个数组将保存奇数值,然后我们将连接起来得到一个数组。
算法
让我们首先看看这个程序的分步过程 −
开始 步骤 1 → 取三个数组变量 A、E 和 O 步骤 2 → 将偶数值存储在数组 E 中 步骤 3 → 将奇数值存储在数组 O 中 步骤 4 → 从 0 开始循环到 sizeof(E) 步骤 5 → 将 E[n] 复制到 A[index] 步骤 6 →从 0 开始循环到 sizeof(O) 步骤 7 → 将 E[n] 复制到 A[index] 步骤 8 → 显示 A STOP
伪代码
现在让我们看看这个算法的伪代码 −
procedure concate_array(A) Array E, O index ← 0 FOR EACH value in E DO A[index] ← E[n] INCREMENT index END FOR FOR EACH value in O DO A[index] ← O[n] INCREMENT index END FOR DISPLAY A end procedure
实现
上述推导的伪代码的实现如下 −
#include <stdio.h> int main() { int array[10]; int even[5] = {0, 2, 4, 6, 8}; int odd[5] = {1, 3, 5, 7, 9}; int loop, index, e_len, o_len; e_len = o_len = 5; index = 0; for(loop = 0; loop < e_len; loop++) { array[index] = even[loop]; index++; } for(loop = 0; loop < o_len; loop++) { array[index] = odd[loop]; index++; } printf(" Even -> "); for(loop = 0; loop < e_len; loop++) printf(" %d", even[loop]); printf(" Odd -> "); for(loop = 0; loop < o_len; loop++) printf(" %d", odd[loop]); printf(" Concat -> "); for(loop = 0; loop < 10; loop++) printf(" %d", array[loop]); return 0; }
输出应如下所示 −
Even -> 0 2 4 6 8 Odd -> 1 3 5 7 9 Concat -> 0 2 4 6 8 1 3 5 7 9