数组分割程序
要将一个数组分成两个,我们至少需要三个数组变量。我们将取一个包含连续数字的数组,然后根据偶数值和奇数值将其值存储到两个不同的变量中。
算法
我们先来看看这个程序 −
的分步过程开始 步骤 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