繁体   English   中英

Javascript根据用户输入求平均值

[英]Javascript find average from user's input

我知道这里也有类似的问题要解决,但我看不到答案。

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

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

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。

接受用户输入后,需要检查。

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

这是您需要的功能代码。

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

这将获取平均值...仅累加值,然后将总的“和”除以“输入的数量”(在本例中,我们仅使用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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM