C语言19弹--交换数组元素

使用C语言实现交换数组元素

思路:使用头尾下标通过使用三方变量实现交换,注意头尾变量相等时单独进行交换。

1.头交换

int tmp1 = arr1[left];
arr1[left] = arr2[left];
arr2[left] = tmp1;

2.尾交换

int tmp2 = arr1[right];
arr1[right] = arr2[right];
arr2[right] = tmp2;

3.相等时

		if (left == right){tmp1 = arr1[left];arr1[left] = arr2[right];arr2[right] = tmp1;}

总代码

#include <stdio.h>int main()
{int arr1[] = { 0,1,2,3,4 };int arr2[] = { 5,6,7,8,9 };int i = 0, j = 0;int sz = sizeof(arr1) / sizeof(arr1[0]);int left = 0, right = sz - 1;printf("交换前\n");for (i = 0; i < sz; i++){printf("%d ", arr1[i]);}printf("\n");for (i = 0; i < sz; i++){printf("%d ", arr2[i]);}printf("\n");while (left <= right){int tmp1 = arr1[left];arr1[left] = arr2[left];arr2[left] = tmp1;int tmp2 = arr1[right];arr1[right] = arr2[right];arr2[right] = tmp2;if (left == right){tmp1 = arr1[left];arr1[left] = arr2[right];arr2[right] = tmp1;}left++;right--;}printf("交换后\n");for (i = 0; i < sz; i++){printf("%d ", arr1[i]);}printf("\n");for (i = 0; i < sz; i++){printf("%d ", arr2[i]);}printf("\n");return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/154189.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

串口工作流程硬核解析,没有比这更简单的了!

串口通信,就是我们常说的串口通讯,是一种短距离、点对点的数据传输方式。它基于串行通信协议,通过串口线连接设备进行数据交互。串口在很多硬件系统中广泛使用,是工控机、单片机、外设设备之间信息交换的重要接口。 那串口是怎么工作的呢?我们举个形象的例子。假设A和B是两台…

SQL优化——如何写出高效率SQL

一.在查询SQL尽量不要使用select *&#xff0c;查询具体字段 1、反例 SELECT * FROM user 2、正例 SELECT id,username,tel FROM user 3、理由 节省资源、减少网络开销。 可能用到覆盖索引&#xff0c;减少回表&#xff0c;提高查询效率。 二、避免在where子句中使用 o…

【查找与排序】快速排序

一.改进冒泡排序 在冒泡排序中&#xff0c;记录的比较和移动是在相邻单元中进行的&#xff0c;记录每次交换只能上移或下移一个单元&#xff0c;因而总的比较次数和移动次数比较多。 改进的着眼点&#xff1a; 1.减少总的比较次数和移动次数 2.增大记录的比较和移动距离 3.较大…

Linux中路由route

一、Linux路由表 Linux路由表是一个内核数据结构&#xff0c;用来描述Linux主机与其它网络设备之间的路径&#xff0c;以及如何将数据包从源地址路由到目标地址。Linux路由表的主要组成部分包括&#xff1a;目的网络、下一跳、子网掩码和接口等信息。 &#xff08;一&#xff…

Wireshark的数据包它来啦!

通过Wireshark工具&#xff0c;可以轻松的看到网卡的数据信息。通过Wireshark显示的数据包内容信息&#xff0c;通常分七栏&#xff0c;介绍一下&#xff1a; 1No.&#xff1a; 数据包编号。 2.Time Time显示时间&#xff0c;以1号数据包发生开始计时。 3.Source Source显示内容…

探秘TikTok社群:短视频中的共同体验

社交媒体平台TikTok成为全球用户分享创意、表达自我、建立连接的重要场所。在这个数字化的时代&#xff0c;TikTok社群不仅是个人创作者的聚集地&#xff0c;更是成千上万用户共同参与、体验的独特社交现象。 本文将深入探讨TikTok社群的形成、特点以及其中的共同体验&#xf…

[java进阶]——泛型类、泛型方法、泛型接口、泛型的通配符

&#x1f308;键盘敲烂&#xff0c;年薪30万&#x1f308; 目录 泛型的基础知识&#xff1a; ♥A 泛型的好处&#xff1a; ♠A 泛型擦除&#xff1a; ♣A 泛型的小细节&#xff1a; 泛型的使用&#xff1a; ①泛型类&#xff1a; ②⭐泛型接口&#xff1a; ③泛型方法&…

图像处理Sobel 算子

Sobel算子是一种常用的图像处理算法&#xff0c;用于边缘检测。它利用了图像中灰度值的变化来识别边缘的位置。在OpenCV中&#xff0c;Sobel算子通常用于图像梯度计算&#xff0c;其中包括水平方向和垂直方向的梯度。这两个方向的梯度合并后可以得到图像的边缘信息。 原理&…

大结局!OpenAI创始人奥特曼和 Greg Brockman 将加入微软!!!

持续48小时的OpenAI政变大戏终于迎来了大结局&#xff01; 微软堪称最大赢家&#x1f4a5;&#x1f4a5;&#x1f4a5; 微软CEO刚刚宣布&#xff1a; 我们仍然致力于与 OpenAI 的合作伙伴关系&#xff0c;并对我们的产品路线图、我们在 Microsoft Ignite 上宣布的一切继续创…

【基于Ubuntu下Yolov5的目标识别】保姆级教程 | 虚拟机安装 - Ubuntu安装 - 环境配置(Anaconda/Pytorch/Vscode/Yolov5) |全过程图文by.Akaxi

目录 一.【YOLOV5算法原理】 1.输入端 2.Backbone 3.Neck 4.输出端 二&#xff0e;【系统环境】 1.虚拟机的安装与创建 2.安装Ubuntu操作系统 3.环境的配置 3.1.Ubuntu下Anacoda安装以及虚拟环境配置 3.2.Pytorch安装 3.3.Vscode安装 3.4.Yolov5源码及环境获取安装…

SPI 实验

SPI介绍 SPI 是英语 Serial Peripheral interface 缩写&#xff0c;顾名思义就是串行外围设备接口。SPI 通信协 议是 Motorola 公司首先在其 MC68HCXX 系列处理器上定义的。SPI 接口是一种高速的全双工 同步的通信总线&#xff0c;已经广泛应用在众多 MCU、存储芯片、AD 转换器…

Java八股文(急速版)

Redis八股文 我看你在做项目的时候都使用到redis&#xff0c;你在最近的项目中哪些场景下使用redis呢? 缓存和分布式锁都有使用到。 问&#xff1a;说说在缓存方面使用 1.在我最写的物流项目中就使用redis作为缓存&#xff0c;当然在业务中还是比较复杂的。 2.在物流信息…

国外客户要求免费样品?我来教你如何应对

这一次的问题对外贸业务员来说是非常重要。无论你是做什么行业&#xff0c;无论你是做什么产品我相信这个问题对你来说超级有用。 关于发样品给客户我有四个方案来跟大家分享&#xff0c;我希望你能够喜欢希望你很认真的思考一下&#xff1a; 方法一【样品费及运费一起收】&am…

模方4.1.0新版本正式上线啦!

新增单体化自动建模&#xff0c;直角搭桥、复制三角形两种方式补洞等功能&#xff0c;还有更多功能优化&#xff0c;让你的三维模型更好看&#xff01; 欢迎前往官网下载试用→武汉大势智慧-实景三维-云端建模-新型基础设施

效率提升利器:Automa插件的实用指南

Automa是一个chrome扩展&#xff0c;通过拖拽0代码实现工作流&#xff0c;模拟网页的各种点击、表单填写等操作&#xff0c;使用时点击插件脚本一键执行&#xff0c;或者设置定时执行&#xff0c;从而简化我们的工作。 功能介绍 官方文档地址&#xff1a;Getting started | Au…

Spring的后处理器

目录 引言 BeanFactoryPostProcessor 注意 BeanPostProcessor 引言 Spring的后处理器是spring对外开发的重要扩展点&#xff0c;允许我们介入到Bean的整个实例化流程来&#xff0c;以达到动态注册BeanDefintion&#xff0c;动态修改BeanDefintion&#xff0c;以及动态修改Be…

怎么实现在微信公众号秒杀商品的功能呢

实现微信公众号秒杀商品的功能&#xff0c;需要结合微信公众平台和后端开发技术。下面将介绍整个实现过程&#xff0c;包括前期准备、开发流程和后期运营等方面。 一、前期准备 确定秒杀商品&#xff1a;选择适合秒杀的商品&#xff0c;要求数量充足、质量良好&#xff0c;同时…

求输入N段整数范围的素数之和。

求输入N段整数范围的素数之和。 可参考&#xff1a; 输入任意两个正整数a、b&#xff08;a&#xff1c;b&#xff09;&#xff0c;求[a,b]之间的所有素数和。-CSDN博客 题干求输入N段整数范围的素数之和。 若输入&#xff1a; 3 11 18 5 10 3 7 则计算[11 18]之间的素数…

一次性能测试,为啥把我逼疯了?

最近&#xff0c;公司领导让我做下性能方面的竞品对比&#xff0c;作为一个性能测试小白的我&#xff0c;突然接到这样的任务&#xff0c;下意识发出大大的疑问。 整理好心情&#xff0c;内心想着“领导一定是为了考验我&#xff0c;才给我这个任务的”&#xff0c;开始了这一…

electron使用electron-builder macOS windows 打包 签名 更新 上架

项目文件大概目录 1. 安装electron-builder 2. macOS 2.1 创建 Certificates, Identifiers & Profiles Devices 在mac上安装xcode&#xff0c;打开xcode&#xff0c;然后按以下步骤操作。 (1) xcode的菜单栏&#xff1a;xcode > settings。登录apple id。 (2) 登录后…