2064:【例2.1】交换值
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 18808 通过数: 10818
【题目描述】
输入两个正整数a和b,试交换a、b的值(使a的值等于b,b的值等于a)。
【输入】
输入两个正整数a和b。
【输出】
输出a与b交换值后的结果。
分析:交换值是很基础的技巧,后面排序会用到,建议一定要搞明白!
咱们先来个最常见的答案:
通过中间值来交换
#include <iostream>
using namespace std;
int main()
{
int a,b;
cin>>a>>b;
int temp=a;
a=b;
b=temp;
cout<<a<<" "<<b;
}
那如果我不用中间值来做呢?
这就要对运算逻辑有一点深入了解了:
#include <iostream>
using namespace std;
int main()
{
int a, b;
cin >> a >> b;
a = a + b;
b = a - b;
a = a - b;
cout << a << " " << b;
}
只要仔细想想就能理解其中的关系了!