回 帖 发 新 帖 刷新版面

主题:下面的意思不太懂

#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个回复)

沙发

那我问你,这个程序干嘛的

板凳

程序不是要从小到大输出吗,比如a=3,b=4,这样a < b所以不用交换a、b,直接输出就是正确结果,如果a=4、b=3直接输出的结果就是4 3,显然是错误的,这时把a、b交换,交换后a = 3、b=4,输出之后结果不就正确了吗。估计你是刚学编程,坚持下去吧,高手都是这么走过来的

3 楼

先谢谢你回复, 我明白了是不是
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的水杯空了才能倒水,一开始还是没看懂 现在明白了,谢谢

4 楼

小样~

5 楼


[em11][em11][em11]是这样的啦! 谁天生就会啊 , 不过你回了贴,我也多谢了[size=6][/size]

我来回复

您尚未登录,请登录后再回复。点此登录或注册