1. 程式人生 > >C語言實現,找出一個數組中只出現一次的數

C語言實現,找出一個數組中只出現一次的數

題目:

一個數組中只有兩個數字是出現一次,其他所有數字都出現了兩次,找出這兩個數字,程式設計實現。

思路:

最簡單直觀的方法,我們用兩個for迴圈,外迴圈用i,內迴圈用j表示,陣列長度用len表示,外迴圈執行一次,內迴圈執行len-1次,逐一比較,如果相等就給count++,外迴圈一次結束,如果count = 1,說明這個數就出現了一次,列印arr[i]即可

程式碼如下
#include<stdio.h>
#include<stdlib.h>
void fond(int *arr,int len)
{
    int i = 0;
    int j = 0;
    int
cnt = 0; for(i = 0;i<len;i++) { cnt = 0; for(j = 0;j<len;j++) { if(arr[i]==arr[j]) cnt++; } if(cnt==1) //如果cnt = 1,說明這個數出現一次,列印 { printf("%d ",arr[i]); } } printf("\n"); } int main() { int
arr[]={1,2,3,4,5,6,1,2,3,4}; int len = sizeof(arr)/sizeof(arr[0]); //求陣列長度 int i = 0; for(i = 0;i<len;i++) //列印原陣列 { printf("%d ",arr[i]); } printf("\n"); fond(arr,len); system("pause"); return 0; }

執行結果
這裡寫圖片描述