主题:下面的意思不太懂
PLB316369813
[专家分:0] 发布于 2011-10-13 00:43:00
#include "iostream.h"
int main()
{
int a,b;
cout<<"输输入两个数:";
cin>>a >>b ;
if (a>b) //如果a比b大 则将两个数交换
{
int temp;
temp=a;
a=b;
b=temp;
}
cout<<a <<" " <<b <<endl; //将两个数从小到大输出
return 0;
}
为什么 a比b 大就要交换??? 看不懂
回复列表 (共5个回复)
沙发
argentmoon [专家分:13260] 发布于 2011-10-13 08:56:00
那我问你,这个程序干嘛的
板凳
winmain2008 [专家分:280] 发布于 2011-10-13 09:39:00
程序不是要从小到大输出吗,比如a=3,b=4,这样a < b所以不用交换a、b,直接输出就是正确结果,如果a=4、b=3直接输出的结果就是4 3,显然是错误的,这时把a、b交换,交换后a = 3、b=4,输出之后结果不就正确了吗。估计你是刚学编程,坚持下去吧,高手都是这么走过来的
3 楼
PLB316369813 [专家分:0] 发布于 2011-10-14 23:02:00
先谢谢你回复, 我明白了是不是
if (a>b)
{
int temp;
temp=a;
a=b;
b=temp;
}
这段的中文意思就是“如果a比b大,就把a里的数放到temp里,然后再把b 里的数移到a,接着再把原a里的数拿出来放到b 的位置里去”接着就cout<<a <<" " <<b 了 如果a比b小就不用运行if 了 直接cout<<a了 书上举例说就好像两杯水要把b里的水放到a里就要先把a的水倒进temp里,a的水杯空了才能倒水,一开始还是没看懂 现在明白了,谢谢
5 楼
PLB316369813 [专家分:0] 发布于 2011-10-19 01:12:00
[em11][em11][em11]是这样的啦! 谁天生就会啊 , 不过你回了贴,我也多谢了[size=6][/size]
我来回复