多个if else,有点乱!!!!

来源:百度知道 编辑:UC知道 时间:2024/05/28 09:22:51
有下列条件语句:
if(a<b) if(c<d) x=1;else
if(a<c) if(b<d) x=2;else x=3;else
if(a<d) if(b<c) x=4;else x=5;else x=7;
(1)把此句写的逻辑关系清晰些
(2)检查有无多余的判定条件或矛盾的判定条件
(3)重写一个等效的简洁的条件语句

if (a<b)
{
if (c<d)
x=1;
else if (a<c)
{
if (b<d)
x=2;
else
x=3;
}
else if (a<d)
{
if (b<c)
x=4;
else
x=5;
}
else
x=7;
}

等价的简洁语句:

if (a<b&&c<d) x=1;
else if (a<b&&a<c) x=b<d?2:3;
else if (a<b&&a<d) x=b<c?4:5;
else if (a<b) x=7;

if(a<b)
    if(c<d) x=1;
    else
        if(a<c)
            if(b<d) x=2;
            else x=3;
        else
            if(a<d)
    &