- C++趣味编程及算法入门
- 王桂平 周祖松 穆云波 葛昌威编著
- 429字
- 2025-03-27 18:31:33
3.5 练习1:交换两个变量的值(2)
【题目背景】
案例3采用中间变量的方法交换u和v的值,现在我们不借助中间变量,而是通过灵活运用算术运算符(+和-)和赋值运算符(=)来实现。
【题目描述】
交换两个变量u和v的值。
【输入描述】
输入占一行,为两个正整数u和v,用空格隔开,u和v的取值不超过int型范围。
【输出描述】
输出占一行,为交换后u和v的值,用空格隔开。

【分析】
本题也需要用三条语句交换u和v的值。代码如下。

在上述代码中,先在语句(b)中把变量u和变量v的值加起来,赋值给变量u。然后在语句(c)中将u减去v,得到的是原来u的值,将这个值赋值给v。在语句(d)中将u减去v,得到的是原来v的值,将这个值赋值给u。这样也实现了交换u和v两个变量的值。具体执行过程如图3.3所示,图3.3中的(a)、(b)、(c)、(d)分别对应程序中4条语句执行后的效果。

图3.3 交换两个变量的值的过程(不借助中间变量)
【思考】
如果把本题代码中的加法改成乘法、减法改成除法,能否实现交换u和v的值?