我知道这里有与我类似的问题,但我在那里没有看到答案。
我从用户输入中查找平均数的 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);
请注意,您可以在循环外计算一次平均值并节省一些 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);
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);
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);