将a、b的值进行交换,并且不使用任何中间变量

方法1:用异或语句

a = a^b;

b = a^b;

a = a^b;

注:按位异或运算符^是双目运算符,其功能是参与运算的两数各对应的二进制位相异或,当对应的二进制相异时,结果为1。参与运算数仍以补码形式出现。

方法2:

a = a+b;

b = a-b;

a = a-b;

如果a、b都是比较大的两个数,a=a+b时就会超界。

方法3:

a = a - b;

b = a + b;

a = b - a;

时间: 2024-08-29 04:16:46

将a、b的值进行交换,并且不使用任何中间变量的相关文章

输入两个整数,放入到a与b变量中去,如果a>b就将a与b中的值进行交换,否则就不交换。

import java.util.Scanner; /** * @author 蓝色以太 输入两个整数,放入到a与b变量中去,如果a>b就将a与b中的值进行交换,否则就不交换. */ public class Change { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入两个整数:"); int a = sc.nextInt

C语言中有关两个数,值的交换

一.开讲感言 最近在系统的学习C语言,虽说以前在大学里学习过,但是人嘛,时间一久就会忘了.由于行业的原因,我学习了iOS,但是想学习iOS,C就是万万不能忘的.于是经过几天的时间,我终于有了一点小成就,就是有关在C里面的两个值的交换,这里或许只是一部分,希望还有知道方法的同事,不吝赐教.下面就不多说了,我们一起来看,怎么交换两个数的值,我这里面提供了三种方法. 第一种:第三方变量交换法 我们在C++编译器中设三个变量,并且给其中两个变量赋值,第三方变量初始化为0,下面我们来看看具体的代码情况.由

Python两个变量的值进行交换的方法

使用第三方变量: '''这是第一种赋值方法,采用第三方变量''' c = a a = b b = c 使用两个变量: '''使用两个变量''' a = a+b #取两个数的和 b = a-b #然后a-b等于a然后赋值给b a = a-b #然后a-b等于b然后赋值给a,完成值的交换 使用两个变量的另一种方法: a,b = b,a

java选择排序下标交换和下标对应的值的交换

class a4 { public static void main(String[] args) { int [] arr = {1, 8, 3, 6, 5, 2}; printNumber(arr); sort2(arr); printNumber(arr); } public static void swap(int[] arr, int a, int b) { int temp = arr[a]; arr[a] = arr[b]; arr[b] = temp; } public stat

a,b值进行交换的方法

方法一 最容易想到的就是拿一个空“杯子”进行转换,代码如下: <script type="text/javascript"> var a = 1; var b = 2; var c; c = a; a = b; b = c; document.write("a=" + a); document.write("<br/>"); document.write("b=" + b); </script&g

SQL练习之两个列值的交换

SELECT * FROM dbo.test2 现在我们将Province列值和Company列值互换,代码如下: UPDATE test2 SET Company=Province, Province=Company 这是第一种列值互换方式! 下面是第二种在部分数据库中有效的互换方式: UPDATE test2 SET Company=Company+Province, Province=Company-Province, Company=Company-Province; 这里的加减号可能有

不借助任何中间变量将两个整形变量的值交换

今天在做题的时候,突然出现一道题,就是不借助中间变量,将两个整形变量的值互换,开始有点懵,这怎么换?后来还是用两个变量不停做加减变换,差不多有十几分钟,才终于凑出来了一种方法,一时兴起,我又从网上找了一下相关的资料,说是竟然有四种方法,我就看了一下,顺便学习一下. 在我们初学阶段,一般是定义一个新的变量,借助它完成交换. 例如:int a,b;a=1; b=2;int t;t=a; a=b; b=t;这种算法易于理解,对初学者来说,一般都是用“空瓶子来回倒换”帮助理解的,而且是赋值语句的经典应用

(转)交换两个变量的值,不使用第三个变量的四种法方

通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换.代码如下: int a,b; a=10; b=15; int t; t=a; a=b; b=t; 这种算法易于理解,特别适合帮助初学者了解计算机程序的特点,是赋值语句的经典应用.在实际软件开发当中,此算法简单明了,不会产生歧义,便于程序员之间的交流,一般情况下碰到交换变量值的问题,都应采用此算法(以下称为标准算法). 上面的算法最大的缺点就是需要借助一个临时变量.那么不借助临时变量可以实现交换吗?答案是肯定的!这里我们可以用

交换两个变量的值,不使用第三个变量的四种法方

通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换.代码如下:int a,b;a=10; b=15;int t;t=a; a=b; b=t;这种算法易于理解,特别适合帮助初学者了解计算机程序的特点,是赋值语句的经典应用.在实际软件开发当中,此算法简单明了,不会产生歧义,便于程序员之间的交流,一般情况下碰到交换变量值的问题,都应采用此算法(以下称为标准算法). 上面的算法最大的缺点就是需要借助一个临时变量.那么不借助临时变量可以实现交换吗?答案是肯定的!这里我们可以用三种算法来