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

array_examples_in_c.html