C語言實現,找出一個數組中只出現一次的數
阿新 • • 發佈:2018-12-26
題目:
一個數組中只有兩個數字是出現一次,其他所有數字都出現了兩次,找出這兩個數字,程式設計實現。
思路:
最簡單直觀的方法,我們用兩個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;
}
執行結果