cin >>a >>b;
if (a>b)//如果a比b大,则将两个数交换
{
int temp;//创建一个临时变量
temp=a;
a=b;
b=temp;
}
cout <<a <<" " <<b <<endl;//将两个数从小到大输出
return 0;
}
第一次运行结果:
请输入两个数:1 5
1 5
第二次运行结果:
请输入两个数:3 2
2 3
算法时间:交换
交换是程序设计中最基础最常用的一种操作。它的算法在现实生活中也有着形象的操作。交换两个变量里的数据就好像交换AB两个碗中的水。我们必须再拿一个碗来(临时变量),将A碗里面的水先倒到这个临时的碗里,再将B碗的水倒到空的A碗里,最后把临时碗里的水再倒回B碗,那么就完成了这个工作。对照着这个过程去阅读代码是不是有些理解了呢?至于这个算法的代码,也是非常好记的。记住把临时变量放在首位,然后把任一变量放在等号的右边,下一句语句开头的必然也是这个变量。简单地记就是首尾相连。(程序4.1.1的代码中用相同的颜色表示出“首尾相连”。)
这个程序完成的工作是将两个无序的整数从小到大地输出。即如果第一个数比第二个数大,先交换再输出,否则直接输出。
二、条件——逻辑运算
学校评三好学生,候选人必须要德智体全面发展才能够评上;学校开运动会,运动员只要在某一个项目上是全校第一就能够获得冠军。现实生活中,有些条件会很严格,要数项同时满足时才算符合条件;而有些条件又会很松,只要符合其中某一项就算符合条件了。在程序设计中,我们也会遇到这样的问题。平时,我们往往是用“并且”和“或”两个词来描述这些情况的。而在程序设计中,我们用逻辑运算来描述。我们平时称它们“与”(相当于并且)、“或”、“非”。“逻辑与”的操作符是&&,“逻辑或”的操作符是||,“非”的操作符是!。下面三个真值表说明了各逻辑运算的结果。
上面两表的第一行和第一列分别是逻辑操作符两侧的值,右下角带有灰色底纹的四格是经过运算后的结果。
如果我们用集合A和集合B分别来描述两个不相同的条件A和B,那么A&&B表示要满足集合A与集合B的交集;A||B表示要满足集合A与集合B的并集;!A表示要满足集合A的补集。










