四种方法实现数组交换
方法一:
//该方法主要用逻辑运算将数组对应的每个元素进行交换,然后用for循环将整个数组元素进行交换#include<stdio.h>int main(){ int i,j,k;int A[10];int B[10];int C[10];printf("请输入A数组的内容:\n");for(i=0;i<10;i++){scanf("%d",&A[i]);}printf("请输入B数组的内容:\n");for(j=0;j<10;j++){ scanf("%d",&B[j]);}for(k=0;k<10;k++){ A[k]=A[k]^B[k]; //逻辑运算交换各元素的值 ,"^"也可改成"+,_"同样可以实现交换B[k]=A[k]^B[k]; //例如: A[k]=A[k]+B[k];A[k]=A[k]^B[k]; B[k]=A[k]-B[k]; } A[k]=A[k]-B[k];printf("互换后的A数组为:\n");for(i=0;i<10;i++){printf("%d ",A[i]);}printf("\n");printf("互换后的B数组为:\n");for(j=0;j<10;j++){ printf("%d ",B[j]);}printf("\n");return 0;}方法二: //这种方法是利用指针函数进行交换各元素的值,#include<stdio.h>int main(){ int i,j,k;int A[10];int B[10];int C[10];printf("请输入A数组的内容:\n");for(i=0;i<10;i++){scanf("%d",&A[i]);}printf("请输入B数组的内容:\n");for(j=0;j<10;j++){ scanf("%d",&B[j]);}for(k=0;k<10;k++){ swap(&A[k],&B[k]); // 调用指针函数进行元素的交换}printf("互换后的A数组为:\n");for(i=0;i<10;i++){printf("%d ",A[i]);}printf("\n");printf("互换后的B数组为:\n");for(j=0;j<10;j++){ printf("%d ",B[j]);}printf("\n");return 0;}int swap(int *a,int* b){ int t;t=*a;*a=*b;*b=t;}方法三 // 引入第三个数组进行数组各元素的交换#include<stdio.h>int main(){ int i,j,k;int A[10];int B[10];int C[10];printf("请输入A数组的内容:\n");for(i=0;i<10;i++){scanf("%d",&A[i]);}printf("请输入B数组的内容:\n");for(j=0;j<10;j++){ scanf("%d",&B[j]);}for(k=0;k<10;k++) // 引入变量,进行交换{ C[k]=A[k];}for(i=0;i<10;i++){ A[i]=B[i];}for(j=0;j<10;j++){ B[j]=C[j];}printf("互换后的A数组为:\n");for(i=0;i<10;i++){printf("%d ",A[i]);}printf("\n");printf("互换后的B数组为:\n");for(j=0;j<10;j++){ printf("%d ",B[j]);}printf("\n");return 0;}方法四 //引入第三变量,在利用strcpy函数进行交换各数组元素#include<stdio.h>int main(){ char str1[20];char str2[20];char str3[20];puts("请输入str1的字符:\n");gets(str1);puts("请输入str2的字符:\n");gets(str2);strcpy(str3,str1);strcpy(str1,str2);strcpy(str2,str3);puts("互换后的str1数组为:\n");puts(str1);printf("\n");puts("互换后的str2数组为:\n");puts(str2);printf("\n");return 0;}
四种方法实现数组交换相关推荐
- 快速排序——寻找数组第K大数(由浅入深,四种方法对比讲解!)
寻找数组第K大数是大厂面试中经常考到的一题,有的小机灵鬼直接用sort()进行排序,两行代码解决,这样看似可行,实则掉入了出题人的陷阱.面试官希望看到的是你对算法的理解,而不是函数的调用.下面,我就以 ...
- js数组去重的四种方法
四种算法来实现这个目的: Array.prototype.unique1 = function () {var n = []; //一个新的临时数组for (var i = 0; i < thi ...
- php遍历数组的四种方法,PHP遍历数组的常见几种方法
小白发博文,看到某个知识点,就当复习下. $arr=array ( 'football' => 'well', 'swimming'=>'very well', 'run'=> ...
- java互换_两个变量交换的四种方法(Java)
对于两种变量的交换,我发现四种方法,下面我用Java来演示一下. 1.利用第三个变量交换数值,简单的方法. (代码演示一下) 1 class TestEV 2 //创建一个类 3 { 4 public ...
- 【Java】数组拷贝的四种方法
四种方法 System.arraycopy() 这是一个native的方法,也是对大数组最高效的方法. Arrays.copyOf() 源码如下: public static <T> T[ ...
- java 数组效率_java数组复制的四种方法效率对比
有关数组的基础知识,有很多方面,比方说初始化,引用,遍历,以及一维数组和二维数组,今天我们先看看数组复制的有关内容. 来源于牛客网的一道选择题: JAVA语言的下面几种数组复制方法中,哪个效率最高? ...
- 关于交换a和b的值的四种方法
交换a,b的值,大家可能认为很简单,但是如果突然让你想出4种方法,可能大家一瞬间脑子里只出现了用第三变量暂存的这种最基本的方法,下面我总结了四种方法: 初始化a和b: #关于python较换 a b ...
- php 从数组里删除元素,PHP从数组中删除元素的四种方法实例
PHP从数组中删除元素的四种方法实例 一.总结 一句话总结:unset(),array_splice(),array_diff(),array_diff_key() 二.PHP从数组中删除元素的四种方 ...
- java中创建数组的四种方法
详细方法见如下四部分代码块 方法一: 详情见注释 //创建数组的第一种方法int[] arr=new int[6]; //通过创建对象的方法来声明一个数组对象int intValue=arr[5]; ...
最新文章
- Linux运维跳槽必备的40道面试精华题
- 获取计算机软件列表,获取计算机已安装软件列表解决方法
- tensorflow常见函数——clip_by_value、numpy.random.RandomState、argmax
- redhat6.4执行二进制程序报错:/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory...
- 欧拉回路和哈密尔顿回路
- bugku 管理员系统 后台代码_不会吧,这也行?iOS后台锁屏监听摇一摇
- Android模块化之MicroModule(微信Pins工程)
- 数据结构实验病毒感染检测问题(C++)
- kafka--Struct Streaming--hdfs案例
- 航迹推演(Odometry)
- 口袋超萌服务器维护中,口袋超萌手游加速攻略 口袋超萌加速方法说明
- 怎样将图片制作转换圆形图片
- 输入法 箭头符号大全
- 量子计算机的基本构成,量子计算机的硬件单元 文/李联宁 1. 量子寄存器 存储一系列量子比特的体系称为量子寄存器。假设有一个由3比特构成的寄存器,在经典计算机中,可... - 雪球...
- 稻城亚丁6日游之第五天(新都桥-丹巴)
- 找出bilibili隐藏在后方的视频并突破访问限制实现爬取
- Freesurfer的简单使用和一些基础知识
- gpu云服务器运行游戏_显卡云主机-游戏安卓模拟器GPU独立显卡云服务器
- 《程序员》2011年12期精彩内容:企业开发的困境与变局
- kaggle api下载数据集
热门文章
- 圆周率的代码表示,以及对其的理解。
- unity中怎么在InspectorI面板加LOGO
- SpringMVC学习笔记整理
- android插件化-获取apkplug框架已安装插件-03
- 介绍“Razor”— ASP.NET的一个新视图引擎
- tfs 内网和外网切换的方法。
- 第一章计算机网络概述答案,第一章 计算机网络概述[3]
- 2017计算机三级哪个好考,快速突破2017年计算机三级考试的几大复习阶段
- java批量提取文件夹名称_bat 批量提取指定目录下的文件名
- java 反射 new class_Java高级特性-反射:不写死在代码,还怎么 new 对象?