- 按例子學習 C 語言時刻
- 按例子學習 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 even values in array E Step 3 → Store odd values in array O Step 4 → Start loop from 0 to sizeof(E) Step 5 → Copy E[n] to A[index] Step 6 → Start loop from 0 to sizeof(O) Step 7 → Copy E[n] to A[index] Step 8 → Display 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("\nEven -> ");
for(loop = 0; loop < e_len; loop++)
printf(" %d", even[loop]);
printf("\nOdd -> ");
for(loop = 0; loop < o_len; loop++)
printf(" %d", odd[loop]);
printf("\nConcat -> ");
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.htm
廣告