首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

最简略的3个数排大小

2013-04-20 
最简单的3个数排大小如题 a b c 用if语句排大小,,中间的逻辑我理不通[解决办法]比较a,b,c的ascii码[解决办

最简单的3个数排大小
如题 a b c 用if语句排大小,,中间的逻辑我理不通
[解决办法]
比较a,b,c的ascii码
[解决办法]
string result = "";
        if (a > b && a > c)
        {
            if (b > c)
            {
                result = a + ">" + b + ">" + c;
            }
            else
            {
                result = a + ">" + c + ">" + b;
            }
        }
        else if (b > a && b > c)
        {
            if (a > c)
            {
                result = b + ">" + a + ">" + c;
            }
            else
            {
                result = b + ">" + c + ">" + a;
            }
        }
        else if (c > a && c > b)
        {
            if (a > b)
            {
                result = c + ">" + a + ">" +b;
            }
            else
            {
                result = c + ">" + b + ">" + a;
            }
        }
[解决办法]
先判断最大数 然后判断剩下两个的大小
[解决办法]
a和b比,谁小,再和c比,
若c比其小则。。。。
c比其大,则c和另一个比,谁小则....

------解决方案--------------------


public int maxnum(int a,int b)
{
   return a>=b?a:b;
}

maxnum(maxnum(a,b),c)
[解决办法]
随便找个排序方法就搞定了,比如冒泡排序,代码别写死,尽量做到能复用。
[解决办法]
int max;
int min;
int mid;

// 最大值
if(a>b) 
max = a;
else 
max = b;
if(c>max) 
max = c;

// 最小值
if(a<b)
min = a;
else
min = b;
if(c<min)
min = c;

// 中间值
if( a<max && a>min )
mid = a;
if( b<max && b>min )
mid = b;
if( c<max && c>min )
mid = c;

热点排行