关闭

【C语言】【笔试题】找出一组数据中成单出现的数字,其他所有数字都是成对出现的。(移位)

69人阅读 评论(0) 收藏 举报
分类:
#include<stdio.h>
#include<stdlib.h>
int main()
{
	int i = 0;
	int num= 0;
	int arr[7];
	for (; i < 7; i++)
	{
		scanf("%d", &arr[i]);
	}
	num = arr[0];
	for (i = 1; i < 7; i++)
	{
		num = num^arr[i];//a异或b之后再异或b,结果是a等同于(a^b)^b=a,同样,(a^b)^a=b,因为a^a(自身异或自身)就等于0000....0000,再异或别的数,就只剩下再次异或的数了.
	}
	printf("%d\n", num);
	system("pause");
	return 0;
}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:15924次
    • 积分:216
    • 等级:
    • 排名:千里之外
    • 原创:109篇
    • 转载:7篇
    • 译文:0篇
    • 评论:1条
    文章分类
    最新评论