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

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

方法一:定義一個臨時變量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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章