交换两个数字的 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;
}
这个程序的输出与上面的第一个程序相同。
让我们看看这个程序是如何工作的:
- 最初,
a = 5
,b = 10
。 - 然后,我们使用代码
a = a + b
添加a
和b
并将其存储在a
中。这意味着a = 5 + 10
. 所以,a = 15
现在。 - 然后我们使用代码
b = a - b
。这意味着b = 15 - 10
. 所以,b = 5
现在。 - 再次,我们使用代码
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