使用if...else...与max判断三个数大小的比较和推演

作者:Chilau 发布于:2014-1-19 12:56 分类:c/c++

当我们判断三个数大小时往往使用的是:


if(a>b){
    if(b>c){
        //a>b>c
    }else{//b=<c
           if(a>c){
                //a>c>=b
            }else{//a=<c
                //c>=a>b
            }
    }
}else{//a=<b
    if(b<c){
        //c>b>=a
    }else{//c=<b
        if(a>c){
               //b>=a>c
        }else{a=<c
              //b>=c>=a
        }
    }
}



我们来看看min函数的原型:


if(a<b)return a;
else return b;

上面的代码就可以这样写:


int minimum=min(a,b);//取得a,b中较小的数
int minimum_m=min(c,minimum);//取得最小的数
int minimum_n;//中间大小的数
if(a==minimum_m){//看是哪个数最小
    minimum_n=min(b,c);
}else if(b==minimum_m){
    minimum_n=min(a,c);
}else{//剩下的肯定是c了
    minimum_n=min(a,b);
}





« mount命令 Invalid Argument部分解决方案 | document.addEventListener不能绑定事件解决»

发表评论: