一個數組中只有兩個數字是出現一次,
其他所有數字都出現了兩次。
找出這兩個只出現一次的數字,編程實現。
方法一:定義一個臨時變量k=0,不斷將數組每個數與數組每個元素比較,如果兩個數相等k++,然後判斷k是否等於1。如果爲1,則這個數在數組只出現一次;如果k=2,說明出現兩次。
void find_num(int* arr, int sz)
{
int i,j;
for (i = 0; i < sz; ++i)
{
int k = 0;
for (j = 0; j < sz; ++j)
{
if (arr[i] == arr[j])
k++;
}
if (k == 1)
printf("出現一次的數字:%d\n",arr[i]);
}
}
int main()
{
int arr[] = { 1, 2, 3, 4, 1, 2, 3, 5 };
int sz = sizeof(arr) / sizeof(arr[0]);
find_num(arr, sz);
system("pause");
return 0;
}