C程式查詢陣列中唯一的元素。
問題
使用兩個迴圈查詢陣列中不重複的元素。一個用於當前元素,另一個用於檢查元素是否已存在於陣列中。
解決方案
考慮以下示例:
15, 15, 16, 15, 13, 15
這裡,陣列中不重複的元素是 16 和 13。
演算法
請參考以下查詢陣列中唯一或不重複元素的演算法。
步驟 1 - 宣告一個數組並在執行時輸入陣列元素。
步驟 2 - 開始遍歷陣列並檢查當前元素是否已存在於陣列中。
步驟 3 - 如果它已存在於陣列中,則移動到陣列中的下一個元素並繼續。
步驟 4 - 如果沒有,則輸出該元素作為不重複的元素。
示例
以下是查詢陣列中唯一或不重複元素的 C 程式:
#include <stdio.h> #include <stdlib.h> int uniqueEle(int array[], int n){ int i,j; int count = 1; for(i = 0; i < n; i++){ for(j = 0; j < n; j++){ if(array[i] == array[j] && i != j) break; } if(j == n ){ printf("
unique elements in an array is [%d] : %d
",count,array[i]); ++count; } } return -1; } int main(){ int n,i; printf("
Enter no: of elements : "); scanf("%d",&n); int array[n]; printf("
enter the array elements : "); for(i = 0; i < n; i++){ scanf("%d",&array[i]); } uniqueEle(array, n); return 0; }
輸出
執行上述程式時,會產生以下輸出:
Run 1: Enter no: of elements: 5 enter the array elements : 11 11 15 16 13 unique elements in an array is [1] : 15 unique elements in an array is [2] : 16 unique elements in an array is [3] : 13 Run 2: Enter no: of elements: 4 enter the array elements : 11 12 11 11 unique elements in an array is [1] : 12
廣告