C++ 交换两个数字程序

示例 1:交换数字(使用临时变量)

#include <iostream>
using namespace std;

int main()
{
    int a = 5, b = 10, temp;

    cout << "Before swapping." << endl;
    cout << "a = " << a << ", b = " << b << endl;

    temp = a;
    a = b;
    b = temp;

    cout << "\nAfter swapping." << endl;
    cout << "a = " << a << ", b = " << b << endl;

    return 0;
}

输出

Before swapping.
a = 5, b = 10

After swapping.
a = 10, b = 5

要在上面的示例中执行交换,需要使用三个变量

第一个变量的内容被复制到临时变量中。然后,第二个变量的内容被复制到第一个变量中。

最后,临时变量的内容被复制回第二个变量,完成交换过程。

您也可以只使用两个变量来执行交换,如下所示。


示例 2:不使用临时变量交换数字

#include <iostream>
using namespace std;

int main()
{
    
    int a = 5, b = 10;

    cout << "Before swapping." << endl;
    cout << "a = " << a << ", b = " << b << endl;

    a = a + b;
    b = a - b;
    a = a - b;

    cout << "\nAfter swapping." << endl;
    cout << "a = " << a << ", b = " << b << endl;

    return 0;
}

此程序的输出与上面第一个程序相同。

让我们看看这个程序是如何工作的

  1. 最初,a = 5b = 10
  2. 然后,我们将 ab 相加并将结果存储在 a 中,代码为 a = a + b。这意味着 a = 5 + 10。所以,现在 a = 15
  3. 然后我们使用代码 b = a - b。这意味着 b = 15 - 10。所以,现在 b = 5
  4. 再次,我们使用代码 a = a - b。这意味着 a = 15 - 5。所以最后,a = 10

因此,数字已被交换。

注意:我们可以使用乘法和除法代替加法和减法。但是,如果其中一个数字为 0,则此方法将不起作用。

int a = 5, b = 10;

// using multiplication and division for swapping
a = a * b;    // a = 50
b = a / b;    // b = 5
a = a / b;    // a = 10

另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战