交换两个数字的 C++ 程序

此示例包含两种不同的技术,用于在 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. 然后,我们使用代码 a = a + b 添加 ab 并将其存储在 a 中。这意味着 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