21xrx.com
2024-12-22 22:14:40 Sunday
登录
文章检索 我的文章 写文章
C++:交换两个数的值
2023-07-04 19:06:19 深夜i     --     --
C++ 交换 两个数

C++作为一种高级编程语言,在编程中常常需要进行一些基本运算,交换数字就是其中之一。交换两个数字的值是编程中经常遇到的问题,这篇文章将介绍在C++中如何交换两个数的值。

方法一:使用第三个变量

将两个变量的值交换,最常用的方法是使用第三个中间变量。首先将一个数的值存储到中间变量中,然后将第二个数的值存储到第一个数中,最后将中间变量的值存储到第二个数中。

示例代码:


int a = 5, b = 15, temp;

cout << "Before swap: a = " << a << ", b = " << b << endl;

temp = a;

a = b;

b = temp;

cout << "After swap:  a = " << a << ", b = " << b << endl;

运行结果:


Before swap: a = 5, b = 15

After swap:  a = 15, b = 5

方法二:使用加减法

将两个变量的值交换,稍微有一点技巧的方法是使用加减法。首先将第一个数的值加上第二个数的值,将得到一个新的值。然后将第二个数的值减去第一个数的值,将得到另一个新的值。最后,将第一个数的值减去第二个数的值,将得到第二个新的值。这样,就能成功地交换两个变量的值。

示例代码:


int a = 5, b = 15;

cout << "Before swap: a = " << a << ", b = " << b << endl;

a = a + b;

b = b - a;

a = a - b;

cout << "After swap:  a = " << a << ", b = " << b << endl;

运行结果:


Before swap: a = 5, b = 15

After swap:  a = 15, b = 5

方法三:使用位运算符

将两个变量的值交换,还有一种方法是使用位运算符。这个方法比较高级,不太常用。我们可以利用异或运算,因为这种运算具有自反性,就是说两次异或同一个数会得到原始的数,如a^b^b=a。

示例代码:


int a = 5, b = 15;

cout << "Before swap: a = " << a << ", b = " << b << endl;

a = a ^ b;

b = a ^ b;

a = a ^ b;

cout << "After swap:  a = " << a << ", b = " << b << endl;

运行结果:


Before swap: a = 5, b = 15

After swap:  a = 15, b = 5

在C++编程中,人们需要经常使用交换两个数字的值,上面介绍了三种方法,选择哪种方法取决于你个人的偏好以及程序的需求。无论哪种方式,都可以顺利地实现两个数字的交换。掌握这些方法,将有助于编写更为高效的程序。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复