一组数据中只有一个数字出现了一次,其他所有数字都是成对出现的,请找出这个数字。

(使用位运算)

直接使用异或运算。

代码如下:

#include<stdio.h>
#include<stdlib.h>

int main()
{
	int arr[]={3,5,9,2,5,3,2}; 
	int size=sizeof(arr)/sizeof(arr[0]);
	int i=0,find=0;
	for(;i<size;i++)
	{
		find^=arr[i];//循环进行异或运算
	}
	printf("%d\n",find);
	system("pause");
	return 0;
}