zoukankan      html  css  js  c++  java
  • 两个int类型的数据,不用任何的判断语句如if、switch、?:等,找出其中的大值

    //两个int类型的数据,不用任何的判断语句如if、switch、?:等,找出其中的大值
    #include <stdio.h>
    /*
    int
    max( int x,int y )
    {
            int buf[2] = { x, y };
            unsigned int z;
     
            z = x - y;
            z >>= 31;
     
            return buf[z];
    }
    */
    int
    max( int x,int y )
    {
            int buf[2]={x,y};
            unsigned int z;
            int c;
     
            z = x - y;
            c = x - y;
            z >>= 31;
            z= 0 ^ z;
     
            return buf[z];
    }
     
     
    int
    main( int argc, char *argv[] )
    {
            int buf[2];
     
            if( argc != 3 )
            {
                    printf( "USEG error" );
                    return -1;
            }
            buf[0] = atoi(argv[1]);
            buf[1] = atoi(argv[2]);
     
            printf( "The max num is %d\n", max( buf[0], buf[1] ) );
     
            return 0;
    }
  • 相关阅读:
    [SCOI2008]奖励关
    [HNOI2015]落忆枫音
    [HAOI2012]高速公路
    [HNOI2012]集合选数
    A. 【UNR #2】积劳成疾
    整体二分
    [HNOI2015]亚瑟王
    [SDOI2010]星际竞速
    [SDOI2010]地精部落
    [SDOI2014]数数
  • 原文地址:https://www.cnblogs.com/daniel/p/51670.html
Copyright © 2011-2022 走看看