如何使用`if ... else`语句以降序编写javascript三个数字?

时间:2016-07-29 20:59:49

标签: javascript

我也不能使用逻辑运算符,但可以使用比较运算符。任何帮助,将不胜感激。

为什么这段代码不能像我想要的那样工作。它似乎在a最大时起作用,但当任何其他变量较大时它不会运行。我认为它与我的嵌套有关。



var a = prompt("enter a number");
var b = prompt("enter a different number");
var c = prompt("enter another number");

if (a < b) {
  if (a < c) {
    if (b < c) {
      console.log(a, b, c);
    } else if (a > b) {
      if (a > c) {
        if (b > c) {
          console.log(a, b, c);
        } else if (b > a) {
          if (b > c) {
            if (a > c) {
              console.log(b, a, c);
            } else if (b > a) {
              if (b > c) {
                if (c > a) {
                  console.log(b, c, a);
                } else if (a > b) {
                  if (a > c) {
                    if (c > b) {
                      console.log(a, c, b);
                    } else if (c > a) {
                      if (c > b) {
                        if (a > b) {
                          console.log(c, a, b);
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

你做错了什么

  • 如果a < b不是true,会在开头发生什么。现在,您的代码无法处理a >= b
  • 的情况
  • 对于第二个if同样如此:您无法处理a >= c的情况,因此您的代码仅在a < b && a < ca是最小数字时)时有效 编辑,如 @nnnnnnn 所指示:使用Number(prompt(message))从{返回的字符串中获取实际数字{1}}

怎么做?

prompt语句添加到描述的else中,以说明您错过的案例。

工作解决方案

if