#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; }
C语言:一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。请找出这个数字。(
原创
©著作权归作者所有:来自51CTO博客作者韩静静的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
c语言:一组数据中只有一个数字出现了一次。(使用位运算)
c语言:一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。请找出这个数字。(使用位运算)
c语言:一组数据中只有一个数字出现了一次 -
一个数组中所有的数都是成对出现的只有一个或者两个数字是单独的,求这个数
一个数组中所有的数都是成对出现的只有一个或者两个数字是单独的,求这个数
一个数组中所有的数都是成对出现的只有一个