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

来源:互联网 发布:onblur js 编辑:程序博客网 时间:2024/05/11 00:57
#include<stdio.h>int main(){     int arr[]={1,3,3,1,4,6,4,5,5};     int i=0;     int len=sizeof(arr)/sizeof(arr[0]);          /*找出单独的数,就将数组中的每个数全都取异或运算,     如:arr[1]={1,3,3,1,4}     01^11=10,再用这个结果10^11=01,01^01=00,000^100=100=4    独的数结果就为1     (1)a=a^b    c^a相当于c^(a^b)     (2)自己异或自己两次相当于没有异或,还是自己。*/          for(i=1;i<len;i++)     {          arr[0]=arr[0]^arr[i];      }     printf("the single number is:%d",arr[0]);     return 0; }

wKioL1YrElCgqiIdAAC2aVZv5Mo085.jpg

0 0