数组分割程序

要将一个数组分成两个,我们至少需要三个数组变量。我们将取一个包含连续数字的数组,然后根据偶数值和奇数值将其值存储到两个不同的变量中。

算法

我们先来看看这个程序 −

的分步过程
开始
步骤 1 → 取三个数组变量 A、E 和 O
步骤 2 → 将连续值存储在 A 中
步骤 3 → 对 A 的每个值进行循环
步骤 4 → 如果 A[n] 为 偶数,则存储在 E 数组中
步骤 5 →如果 A[n] 为 奇数,则存储在 E 数组中
STOP

伪代码

现在让我们看看这个算法的伪代码 −

procedure divide_array(A)

   FOR EACH value in A DO
      IF A[n] is even
         save in E
      ELSE
         save in O
      END IF
   END FOR
   
end procedure

实现

上述推导的伪代码的实现如下 −

#include <stdio.h>

int main() {
   int array[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
   int even[10], odd[10];
   int loop, e, d;
   
   e = d = 0;
   
   for(loop = 0; loop < 10; loop++) {
      if(array[loop]%2 == 0) {
         even[e] = array[loop];
         e++;
      } else {
         odd[d] = array[loop];
         d++;
      }
   }

   printf(" original -> ");
   
   for(loop = 0; loop < 10; loop++)
      printf(" %d", array[loop]);
       
   printf("
 even -> ");
   
   for(loop = 0; loop < e; loop++)
      printf(" %d", even[loop]);   

   printf("
 odd -> ");
   
   for(loop = 0; loop < d; loop++)
      printf(" %d", odd[loop]);   

   return 0;
}

输出应如下所示 −

 original ->  0 1 2 3 4 5 6 7 8 9
 even ->  0 2 4 6 8
 odd ->  1 3 5 7 9

array_examples_in_c.html