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

时间:2014-11-13 11:10:04

标签: javascript average

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

我在这个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);

4 个答案:

答案 0 :(得分: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);    

DEMO

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

答案 1 :(得分: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);
    }

答案 2 :(得分: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);

答案 3 :(得分:0)

这将获得平均值...只需累积值,然后将“总和”除以“输入数量”(在我们的例子中,我们只使用计数++)

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);