C++ 不使用第三个变量交换两个数字
我们可以在不使用第三个变量的情况下交换两个数字。有两种常见方法可以在不使用第三个变量的情况下交换两个数字:
- 通过+和-来交换
- 通过*和/来交换
程序1:使用*和/
让我们看一个简单的C++示例,以在不使用第三个变量的情况下交换两个数字。
#include <iostream>
using namespace std;
int main()
{
int a=5, b=10;
cout<<"Before swap a= "<<a<<" b= "<<b<<endl;
a=a*b; //a=50 (5*10)
b=a/b; //b=5 (50/10)
a=a/b; //a=10 (50/5)
cout<<"After swap a= "<<a<<" b= "<<b<<endl;
return 0;
}
输出:
Before swap a= 5 b= 10
After swap a= 10 b= 5
程序2:使用+和-
让我们看一个使用+和-交换两个数字的示例。
#include <iostream>
using namespace std;
int main()
{
int a=5, b=10;
cout<<"Before swap a= "<<a<<" b= "<<b<<endl;
a=a+b; //a=15 (5+10)
b=a-b; //b=5 (15-10)
a=a-b; //a=10 (15-5)
cout<<"After swap a= "<<a<<" b= "<<b<<endl;
return 0;
}
输出:
Before swap a= 5 b= 10
After swap a= 10 b= 5