【问题标题】:Indentify different types of triangle识别不同类型的三角形
【发布时间】:2018-10-13 11:22:02
【问题描述】:

我正在尝试编写代码来识别不同类型的三角形。但是当该功能被激活时,没有警报。这是我的代码:

function alertf(){
            var a=document.getElementById("a").value;
            var b=document.getElementById("b").value;
            var c=document.getElementById("c").value;
            if((sqr(a)+sqr(b)==sqr(c))||(sqr(a)+sqr(c)==sqr(b))||(sqr(b)+sqr(c)==sqr(a))) 
                     alert("Right triangle")                                                
            else if((a==b)||(b==c)||(a==c)) alert("Isosceles triangle")
                else if((a==b)&&(a==c)) alert("Equilateral triangle")
                  else alert("Ordinary triangle");

【问题讨论】:

  • 这不是在回答你的问题,但你应该在等腰线之前测试等边线。
  • 打开您的 JS 控制台(F12,Console 选项卡),您可能会看到一个错误,告诉您出了什么问题。我在这里看到的主要内容是您正在使用 sqr 函数,该函数在 JS 中本机不存在。你有没有在你的代码中声明它?如果没有,请添加:function sqr(n) { return Math.pow(n, 2); }

标签: javascript html algorithm


【解决方案1】:

我会尝试以下方式:

function sqr(x) {
    return Math.pow(x, 2);
}

function showOutput(output) {
    document.getElementById("output").innerHTML = output;
}

function alertf(){
    var a = document.getElementById("a").value;
    var b = document.getElementById("b").value;
    var c = document.getElementById("c").value;

    if((sqr(a)+sqr(b)==sqr(c))||(sqr(a)+sqr(c)==sqr(b))||(sqr(b)+sqr(c)==sqr(a))) {
        showOutput("Right triangle");
    } else if((a==b)&&(a==c)) {
        showOutput("Equilateral triangle");
    } else if((a==b)||(b==c)||(a==c)) {
        showOutput("Isosceles triangle");
    } else {
        showOutput("Ordinary triangle");
    }
}

alertf();
Side A length: <input id="a" value="3" onchange="alertf()"></input><br>
Side B length: <input id="b" value="4" onchange="alertf()"></input><br>
Side C length: <input id="c" value="5" onchange="alertf()"></input><br><br>
Output:<div id="output"><div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-10
    • 1970-01-01
    • 2014-11-03
    • 1970-01-01
    相关资源
    最近更新 更多