一组数据中只有一个数字出现了一次,其他所有数字都是成对出现的,请找出这个数字。
(使用位运算)
直接使用异或运算。
代码如下:
#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;
}
本文出自 “Scen” 博客,请务必保留此出处http://10741357.blog.51cto.com/10731357/1708445