最近有一点忙,我好久都没有更新了,今天来刷一到水题p005从数字上就知道是一到元老级的水题。话不多说题目奉上:
题目描述
交换 a 和 b 的值
输入格式
一行,两个整数a,b。
输出格式
一行,两个整数b,a,两个整数之间用空格隔开。
样例
输入数据 1
5 1
输出数据 1
1 5
数据范围与提示
a 和 b 保证在 int 范围内。
我只用亿种解法:
(1):假设我们要交换 a b 两个杯子里的水,那么我们就要借助第三个空杯子
首先将 a 杯子的水倒入 c 杯子,就是 c = a;
然后将 b 杯子的水倒入 a 杯子,就是 a = b;
最后要将原来a杯子也就是现在c杯子里的水,倒入 b 杯子,就是 b = c;
话不多说,代码奉上:
#include<bits/stdc++.h>
using namespace std;
int main(){
int a, b, c;
cin >> a >> b;
c = a;
a = b;
b = c;
cout << a << " " << b;
return 0;
}
(2):最简单的方式
代码奉上:
#include<bits/stdc++.h>
using namespace std;
int main(){
int a, b;
cin >> a >> b;
cout << b << " " << a;
return 0;
}
要注意的地方!
这一道题有一个大忌,就是不能写成这样:
#include<bits/stdc++.h>
using namespace std;
int main(){
int a, b;
cin >> a >> b;
a = b;
b = a;
cout << a << " " << b;
return 0;
}
如果写成这样,我们来分析一下这样会是哪样:这个代码先吧a,b输入,然后把a赋值给b,再把b赋值给a,这样有一个结果,当a赋值给b后,a=b,再赋值给a的话就还是a=b,所以是大忌。