Javascript 根据用户输入查找平均值

问题描述 投票:0回答:5

我知道这里有与我类似的问题,但我在那里没有看到答案。

我从用户输入中查找平均数的 JS 代码哪里出了问题? 我想继续输入数字,直到输入-1。我认为 -1 被算作输入/

    var count = 0;
    var input;
    var sum = 0;

        while(input != -1){
            input = parseInt(prompt("Enter a number"));
            count++;
            sum = sum + input;
            sum = parseInt(sum);
            average = parseFloat(sum/count);
        }

    alert("Average number is " + average);
javascript average
5个回答
4
投票

这是正确的顺序(没有所有不必要的解析......)

var count = 0;
var input;
var sum = 0;
input = parseInt(prompt("Enter a number"));
while (input != -1) {

    count++;
    sum += input;
    average = sum / count;
    input = parseInt(prompt("Enter a number"));
}

alert("Average number is " + average);    

演示

请注意,您可以在循环外计算一次平均值并节省一些 CPU。


1
投票

您需要在获取用户输入后进行检查。

while(input != -1){ input = parseInt(prompt("Enter a number")); //The user enters -1 but still inside the while loop. if(input != -1) { count++; sum = sum + input; } sum = parseInt(sum); average = parseFloat(sum/count); }
    

1
投票
这是您需要的功能代码。

var count = 0; var input; var sum = 0; while(true){ input = parseInt(prompt("Enter a number")); if(input != -1) { count++; sum = sum + input; sum = parseInt(sum); } else break; } average = parseFloat(sum/count); alert("Average number is " + average);
    

0
投票
这将获取平均值...只需累加这些值,然后将总“总和”除以“所做输入”的数量(在我们的例子中,我们只使用 count++)

var count = 0; var input; var sum = 0; while(input != -1){ count++; input = prompt("Enter a number"); sum += input; sum = parseInt(sum); } average = (sum/count); alert("Average number is " + average);
    

0
投票
最适合您、最容易理解的代码

let number= 0; let sum = 0; let counter = 0; while (true) { number= +prompt( "Enter as many numbers as you want and then press cancel to get their average "); sum += number; if (number === 0) { break; } counter++; } alert("Average : " + sum / counter);
    
© www.soinside.com 2019 - 2024. All rights reserved.