P19. 练5.2 阿布拉2
说明
尼克是一位好学的学生,他经常做实验。有一天他在做实验的时候需要交换一瓶a毫升的红墨水和一瓶b毫升的蓝墨水,但他不会,便向狐狸老师求助,狐狸老师念了一句咒语“阿布拉”帮助了尼克。试编一程序,模拟这一过程。
输入格式
输入a, b。
输出格式
第一行输出交换前两个瓶子的墨水数量。
第二行交换后两个瓶子的墨水数量(单位ml)。
a,b=map(int,input().split())
print(f"a={a} b=[b}")
a,b=b,a
print(f"a={a} b=[b}")
解题思路
定义两个变量存储输入的值,之前讲过引入第三个变量进行值的交换,在这里可以使用减法和加法操作来实现两个数的互换。
int a = 2, b = 3;
a = a + b; // a = 2 + 3 = 5
b = a - b; // b = 5 - 3 = 2
a = a - b; // a = 5 - 2 = 3
c++ 解法,不使用临时变量
#include <bits/stdc++.h>
using namespace std;
int main()
{
int x, y;
cin>>x>>y;
cout<<"a="<<x<<" b="<<y<<endl;
x = x + y;
y = x - y;
x = x -y;
cout<<"a="<<x<<" b="<<y<<endl;
return 0;
}