c语言题目之打印单身狗


提示:以下是本篇文章正文内容,下面案例可供参考

一、题目

在这里插入图片描述

二、思路

第一步
首先这里先了解两个有关于位操作符异或的知识点 ,异或操作符的规则是相同为0,相异为1 。
在这里插入图片描述

通过上面我们可以得到两个结论:

1,两个相同的数异或,他们的结果为0,因为两个数相同 ,他们存储在计算机中的二进制位也相同,按照按位异或规则相同为0,所以他们的结果为0.
2,0异或上一个数,等于该数本身。

第二步
通过上面的结论,我们来分析这道题就很简单,因为该题中只是找出一堆数中一个只出现过一次的数,所以我们让所有的数一个一个异或不就得到了那个单身狗的数。

假设我们要求的一堆数是1,2,3,2,1
那个3就是我们要求的单身狗
我们让0 ^ 1 ^ 2 ^ 3 ^ 2 ^ 1 = 1 ^ 1 ^ 2 ^ 2 ^ 3 ^ 0 = 3


三、代码实现

int main()
{
	int arr[5] = { 0 };
	int sz = sizeof(arr) / sizeof(arr[0]);
	//输入数组
	for (int i = 0; i < sz; i++)
	{
		scanf("%d", &arr[i]);
	}

	//判断是否是单身狗
	//0^3 = 3,3^3=0
	int sin = 0;
	for (int i = 0; i < sz; i++)
	{
		sin = sin ^ arr[i];
	}
	printf("%d",sin);
	return 0;
}


相关推荐

  1. C语言编程题-单身

    2024-07-19 16:10:01       52 阅读
  2. C语言 寻找单身(2个

    2024-07-19 16:10:01       39 阅读
  3. C语言——找单身1

    2024-07-19 16:10:01       27 阅读
  4. c语言打印素数

    2024-07-19 16:10:01       55 阅读
  5. C语言题目单词个数统计

    2024-07-19 16:10:01       26 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-19 16:10:01       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-19 16:10:01       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-19 16:10:01       58 阅读
  4. Python语言-面向对象

    2024-07-19 16:10:01       69 阅读

热门阅读

  1. 航班管理系统【C语言版】单文件编写

    2024-07-19 16:10:01       18 阅读
  2. Linux常用命令(持续更新)

    2024-07-19 16:10:01       20 阅读
  3. spring boot 实现token验证登陆状态

    2024-07-19 16:10:01       22 阅读
  4. nginx的安装和使用

    2024-07-19 16:10:01       22 阅读
  5. 深入了解 GCC

    2024-07-19 16:10:01       21 阅读
  6. 【MyBatis】Mybatis中的动态SQL——bind标签

    2024-07-19 16:10:01       21 阅读
  7. GreenDao实现原理

    2024-07-19 16:10:01       20 阅读
  8. 分布式缓存设计:深入理解 Memcached 架构

    2024-07-19 16:10:01       23 阅读