当前位置: 首页 > news >正文

十五、公开课

1.不借助第三个变量,交换两个变量的值。

(1)a = a+b;                                                (2)a = a^b;

         b = a-b;                                                           b = a^b;

         a = a-b;                                                           a = a^b;

有整型溢出问题                        ​​​​​​​        ​​​​​​​        ​​​​​​​        按位异或,无溢出问题

                                                                        异或:a^0 = a,a^a = 0

                                                                        a^b^c = a^c^b(交换律)

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
//不借助第三个变量,交换两个变量的值
int main()
{int a = 0;int b = 0;printf("请输入a=");scanf("%d",&a);printf("请输入b=");scanf("%d",&b);system("cls");printf("交换前,a=%d b=%d\n",a,b);//两整型数相加有整型溢出问题(超出int的表示范围)//a = a+b;//b = a-b;//a = a-b;//按位异或,逻辑运算不会产生溢出。a = a^b;b = a^b;a = a^b;printf("交换后,a=%d b=%d\n",a,b);return 0;
}

2.找出只出现一次的数

给定一个非空整型数组,除某个元素只出现一次以外,其余每个元素均出现两次(偶数),找出那个只出现了一次的元素。

(1)每个元素与整个数组元素比较一次

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
//找出只出现一次的数
int main()
{int arr[] = {1,2,3,4,5,1,2,3,4,5,7};//找出单身狗int i = 0;int sz = sizeof(arr)/sizeof(arr[0]);for(i=0;i<sz;i++){int count = 0;int j = 0;for(j=0;j<sz;j++){if(arr[i]==arr[j])//比较每个元素与整个数组元素{count++;}}if(count==1){printf("单身狗:%d\n",arr[i]);break;}}return 0;
}

(2)0直接异或整个数组元素

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
int main()
{int arr[] = {1,2,3,4,5,1,2,3,4,5,7};int i = 0;int sz = sizeof(arr)/sizeof(arr[0]);int ret = 0;for(i=0;i<sz;i++){ret = ret^arr[i];}printf("单身狗是:%d\n",ret);return 0;
}

3.思维导图

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 基于SSM的网上选课系统
  • 【ACM独立出版|EI检索稳定】2024年智能感知与模式识别国际学术会议(ISPC 2024,9月6日-8)
  • Blender中的重拓扑修改器如何使用?
  • Windows系统笔记本无法连接Wi-Fi常见原因及解决办法
  • 【Android】使用视图绑定ViewBinding来代替findViewById
  • pdf提取其中一页怎么操作?提取PDF其中一页的方法
  • 02-用户画像-技术架构+业务划分
  • Java中SPI机制原理解析
  • HarmonyOS应用开发者高级认证,Next版本发布后最新题库 - 多选题序号2
  • 第100+16步 ChatGPT学习:R实现Xgboost分类
  • 线段树分治+可撤销并查集 学习笔记
  • 机器学习数据集的一致性表现在哪些方面-九五小庞
  • buu做题(7)
  • 大数据开发之Hadoop
  • 【栈和队列】算法题 ---- 力扣
  • CSS中外联样式表代表的含义
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • Java 网络编程(2):UDP 的使用
  • Python语法速览与机器学习开发环境搭建
  • React Native移动开发实战-3-实现页面间的数据传递
  • Vue.js 移动端适配之 vw 解决方案
  • Yii源码解读-服务定位器(Service Locator)
  • 从零搭建Koa2 Server
  • 电商搜索引擎的架构设计和性能优化
  • 高性能JavaScript阅读简记(三)
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 如何优雅地使用 Sublime Text
  • 深度学习入门:10门免费线上课程推荐
  • 深度学习中的信息论知识详解
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 双管齐下,VMware的容器新战略
  • 听说你叫Java(二)–Servlet请求
  • ​VRRP 虚拟路由冗余协议(华为)
  • #laravel 通过手动安装依赖PHPExcel#
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • #Spring-boot高级
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • (7)摄像机和云台
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (一)python发送HTTP 请求的两种方式(get和post )
  • ****三次握手和四次挥手
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • **CI中自动类加载的用法总结
  • .NET IoC 容器(三)Autofac
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
  • .NetCore发布到IIS
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • @Bean有哪些属性
  • @SpringBootApplication 注解
  • @vueup/vue-quill使用quill-better-table报moduleClass is not a constructor
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(朱雀组)