- 瞭解 C 隨時間變化的示例
- 瞭解 C 的示例 - 主頁
- C 示例 - 簡單程式
- C 示例 - 迴圈/迭代
- C 示例 - 模板
- C 示例 - 陣列
- C 示例 - 字串
- C 示例 - 數學
- C 示例 - 連結列表
- C 程式設計有用資源
- 瞭解 C 的示例 - 快速指南
- 瞭解 C 的示例 - 資源
- 瞭解 C 的示例 - 討論
將陣列分成幾個部分的程式
要將陣列分成兩部分,我們需要至少三個陣列變數。我們將取一個包含連續數字的陣列,然後根據偶數和奇數值將其儲存到兩個不同的變數中。
演算法
讓我們首先了解此程式的分步流程 −
START Step 1 → Take three array variables A, E, and O Step 2 → Store continuous values in A Step 3 → Loop for each value of A Step 4 → If A[n] is even then store in E array Step 5 → If A[n] is odd then store in E array 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("\n even -> ");
for(loop = 0; loop < e; loop++)
printf(" %d", even[loop]);
printf("\n 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.htm
廣告