`
runfeel
  • 浏览: 935911 次
文章分类
社区版块
存档分类
最新评论

变量取值交换的方法:不拘一格编程序之三

 
阅读更多
不拘一格编程序之三
变量取值交换算法
【题目】已知两变量a和b,设计一个算法,交换a与b的值。
【方法1】最传统,最广泛,最著名的方法,增加一个变量,代码如下:
int a, b;
int c;
c=a;
a=b;
b=c;
【方法2】不增加第三个变量,交换a和b的值,代码如下:
int a, b;
a = a+b;
b = a-b;
a=a-b;
分析,设a和b的原始值为a,b
执行代码 变量a 变量b
int a, b a b
a=a+b a+b b
b=a-ba+b a+b-b=a
a=a-b a+b-(b)=a+b-a=b a
【但是】本方法只适合与整型等,而且不能太大,否则会有溢出。
【方法3】位运算
执行代码 变量a 变量b
a=a^b;a^bb
b=a^b; a^b a^b^b=a
a=a^b; a^b^a=ba
(异或)
相关文章:不拘一格编程序之一循环打印算法
不拘一格编程序之二俄罗斯方块新增行算法
不拘一格遍程序之三变量取值交换算法
不拘一格编程序之四循环的各种形式
分享到:
评论

相关推荐

    用Stata做工具变量2SLS法:数据+程序代码

    用Stata做工具变量2SLS法:数据+程序代码 用Stata做工具变量2SL S法:数据+程序代码 2. 用Stata做工具变量2SLS法.do 用Stata 做工具变量2SLS法:数据+程序代码 2. 用Stata做工具变量2SLS法.d o

    C#变量取值的问题

    本主题将深入探讨C#中变量的定义、赋值以及如何取值,同时结合`OrderBilling.aspx.cs`这个文件名,我们可以推测这是一个ASP.NET Web应用程序中的后台代码文件,可能涉及到订单计费相关的业务逻辑。 1. **变量定义**...

    函数自变量取值范围专题练习.doc

    这些知识点涵盖了函数自变量取值范围的基本原则和方法。在解决实际问题时,我们需要根据函数的具体形式,结合这些原则来确定自变量的允许取值。通过这些练习题,我们可以加深对函数定义域的理解,并能熟练地求解复杂...

    变量取值范围(c++)

    int、long int 、long long int 占用字节 《C和指针》中写过:long与int...类型名称 字节数 取值范围 signed char 1 -128~+127 short int 2 -32768~+32767 int 4 -2147483648~+2147483647 long int 4 -2147483648~

    C程序中用指针变量作函数参数

    ### C程序中用指针变量作函数参数 #### 一、引言 在C语言编程中,函数是非常重要的组成部分,它允许我们封装代码并重复使用。函数参数是函数调用时传递给函数的信息,通常包括基本数据类型如整型、浮点型、字符型...

    微信小程序全局变量改变监听的实现方法

    当时想到的就是使用全局变量,在 app.js 中定义好全局变量,点击组件页面时就修改全局变量的值,父页面同样使用全局变量的值,这样一来就可以动态打开/关闭弹出层且传递值了。 下面先看看 app.js 中怎么定义的: ...

    SPSS数据库变量的分类.doc

    3. 类别变量或名义变量(Nominal/Categorical):该变量取值有明显的类别,但无顺序或等级,可以是字符型变量,也可是数值型变量。 根据对变量特征描述的方法不同划分 根据对变量特征描述的方法不同,SPSS 数据库...

    DSP程序变量存储问题

    DSP程序变量存储问题是开发人员在进行DSP软件开发时经常遇到的问题之一。本文将详细介绍DSP程序中的不同存储区域及其用途,并探讨变量存储的最佳实践。 #### 二、DSP程序存储区域概述 DSP程序通常会使用不同的存储...

    易语言源码易语言文本变量交换源码.rar

    使用临时变量的交换方法是程序中较为直观的做法,通过创建一个临时变量来暂时存放其中一个变量的值,然后通过赋值操作来完成交换。例如: ```e a = 10 b = 20 临时变量 = a a = b b = 临时变量 ``` 然而,更有趣的...

    2013年中考数学100份试卷分类汇编:函数自变量取值范围

    《中考数学函数自变量取值范围解析》 在2013年的中考数学试题中,函数自变量的取值范围成为了一个重点考察的知识点。这一主题涵盖了多项式、分式和二次根式等多个数学概念,旨在检验学生对于函数定义域的理解和应用...

    数控宏程序变量赋值试题[参照].pdf

    在宏程序中,变量赋值有两种主要方法:方法Ⅰ和方法Ⅱ。例如,方法Ⅰ中,引数(自变量)A 对应的变量可能是 #1,而在方法Ⅱ中,自变量地址I6 对应的变量可能是 #19。 2. 运算指令: - `#i=ROUND[#j]`:这个指令...

    java中基本数据类型的取值范围

    Java 中基本数据类型的取值范围 Java 语言中的基本数据类型可以分为两大类:基本类型和扩展类型。在本节中,我们将学习 Java 语言的基本数据类型。它包括布尔型、字符型、整型、浮点型等。 布尔型(Boolean) 布尔...

    tomcat配置环境变量

    #### 三、配置Tomcat环境变量 接下来是Tomcat环境变量的配置,这一步同样非常重要。 ##### 1. 新建CATALINA_HOME变量 - **变量名**:CATALINA_HOME - **变量值**:设置为Tomcat的安装目录。例如:`E:\apache-...

    静态库和动态库里的全局变量(或类的静态成员变量)共享和独立的问题

    在A中定义有全局变量X(或类的静态成员变量),则在动态库B中访问的X,与可执行程序C中访问的X是同一个变量还是两个不同的变量? 答案:是两个不同的变量。 2. 工程中包含动态库A,动态库B,可执行程序C。C依赖于A和...

    Java程序设计基础:变量的作用域.pptx

    含义:方法内定义的变量称为局部变量,方法形参也是局部变量。 作用域:从该变量声明开始,到包含该变量的块结束为止。 含义:在方法的外面、类的内部定义的变量,称为全局变量(global variable)。 作用域:全局变量...

    java变量交换代码

    package day0102; /* * 导包 * 指明一个类的完整路径, * 在后面代码中,可以简写... //交换: 三步转圈赋值 int c = a; a = b; b = c; System.out.println("a = "+a); System.out.println("b = "+b); } }

    网页前端设计JavaScript实现两个变量的交换

    网页前端设计JavaScript实现两个变量的交换适用于JavaScript初学者对变量的声明和使用。 js 是编程语言有很强的逻辑性在里面: 实现这个要求的思路 先怎么做后怎么做,在这个案例当中,先理清思路,我们需要一个临时...

Global site tag (gtag.js) - Google Analytics