一个数组中只有两个数字是出现一次,
其他所有数字都出现了两次。
找出这两个只出现一次的数字,编程实现。
方法一:定义一个临时变量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;
}