要求:一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。 找出这两个数字,编程实现。编程实现。
代码如下
int find(int arr[],int len)
{
int i,j,count;
for(i = 0;i<len;i++) // i 和 j 同时指向一个数的下标,i 可指的范围是数组的整个长度;
{
count = 0;
for(j = 0;j<len; j++) //j 可指的范围也是整个数组的长度;
{
if(arr[i] == arr[j]) //当下标分别为i 和 j 的两个数相同时,count计数+1;
count++; //如果count 大于1,说明与这个数相同的数出现了一次以上。
}
if(count == 1) //如果count = 1说明 i 和j 所指的数相同,并且只出现了一次;
printf("%d ",arr[i]);
}
printf("\n");
}
int main()
{
int arr[] ={1,2,3,4,6,3,2,4,1,5};
int len = sizeof(arr)/sizeof(arr[0]);
find(arr,len);
system("pause");
return 0;
}
运行结果: