C++趣味编程及算法入门
上QQ阅读APP看书,第一时间看更新

3.4 案例3:交换两个变量的值(1)

【题目背景】

有2个杯子,红色杯子里装了可乐,黄色杯子里装了果汁,怎么交换两个杯子里的饮料呢?允许使用一个空杯子。

在程序中经常需要交换两个变量u和v的值。可以采用的一种方法是通过中间变量t(或称为临时变量,一般用t 、 tmp等变量名),先把u的值暂时保存到t中,然后把v的值赋值给u ,最后把t的值赋值给v。

【题目描述】

交换两个变量u和v的值。

【输入描述】

输入占一行,为两个正整数u和v,用空格隔开,u和v的取值不超过int型范围。

【输出描述】

输出占一行,为交换后u和v的值,用空格隔开。

【分析】

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

【分析】

在上面的程序中,要交换变量u和v的值,因此有赋值语句“u = v;”,把变量v的值赋值给变量u,此时变量u的值已经不是原来的值,而是变量v的值了。因此,在语句(c)执行之前需要先把变量u的值先保存到临时变量t中,然后在语句(d)中把临时变量t的值赋值给变量v。交换u和v值的过程如图3.2所示,图3.2中的(a)、(b)、(c)、(d)分别对应程序中4条语句执行后的效果。

图3.2 交换两个变量的值的过程