如何用javascript编写一个程序,要求用户输入一个数字列表,然后找到这些数字的平均值
我无法让这个程序输出用户输入的提示数字的平均值。我还应该怎么编码呢?任何帮助都将不胜感激如何用javascript编写一个程序,要求用户输入一个数字列表,然后找到这些数字的平均值,javascript,arrays,average,Javascript,Arrays,Average,我无法让这个程序输出用户输入的提示数字的平均值。我还应该怎么编码呢?任何帮助都将不胜感激 var gpas = []; var gp; var total = 0; let count = 0; var max = 0; var min = 0; var out = ""; while (i != "XXX") { var i = prompt("Enter a gpa or XXX to Stop"); if (i != "XXX") { gpas.push(i
var gpas = [];
var gp;
var total = 0;
let count = 0;
var max = 0;
var min = 0;
var out = "";
while (i != "XXX") {
var i = prompt("Enter a gpa or XXX to Stop");
if (i != "XXX") {
gpas.push(i);
}
}
for (var i = 0; i < gpas.length; i++) {
out += gpas[i];
out += "<br/>";
}
count++;
total += gpas[i];
var avg = total / count;
out += avg;
document.getElementById('output').innerHTML += out + "<br/>";
var-gpas=[];
var-gp;
var合计=0;
让计数=0;
var max=0;
var min=0;
var out=“”;
而(i!=“XXX”){
var i=提示(“输入gpa或XXX停止”);
如果(i!=“XXX”){
gpas.push(i);
}
}
对于(var i=0;i ”;
}
计数++;
总+=GPA[i];
var avg=总/计数;
out+=平均值;
document.getElementById('output')。innerHTML+=out+“
”;
输出显示的是“NaN”,而不是有效的数字。您只能使用一个变量来保存输入的数字之和,然后将其除以输入的总数
while (i != "XXX") {
var i = prompt("Enter a gpa or XXX to Stop");
if (i != "XXX") {
gpas.push(parseInt(i)); // we need string to number with `parseInt`
}
}
第一种方法是无限循环:
第一种方法与您正在使用的方法相同。基本上,只要我们没有得到字符串“XXX”,我们就会要求一个新号码
/**
*@const输出打印平均值的范围。
**/
const output=document.getElementById('output');
/**
*@var avg存储输入数字的总和。
*@var i跟踪输入的数字数量。
**/
设sum=0,
i=0;
/**基本上,当真增量i**/
while(1&&++i){
/**请输入号码或“XXX”退出**/
const n=提示符(`输入一个数字或输入“XXX”退出:`,0);
/**如果输入“XXX”,则中断循环(唯一中断无限循环的方法)**/
如果(n=='XXX')中断;
/**如果输入的不是“XXX”,请尝试将其转换为浮动**/
总和+=浮点数(n);
}
/**打印平均值**/
output.textContent=(总和/(i-1)).toFixed(2);/**为什么除以“i-1”而不仅仅是“i”,是因为即使输入“XXX”***/
平均值:
感谢所有做出贡献的人。通过应用给出的一些建议,我能够使它起作用。我还注意到下面的代码也起作用:
var gpas = [];
var gp;
var out = "";
while (i != "XXX")
{
var i = prompt("Enter a gpa or XXX to Stop");
if(i != "XXX"){
gpas.push(parseInt(i));
}
}
let sum = gpas.reduce((a, b) => {
return a + b;
});
sum;
var avg = (sum/gpas.length);
document.getElementById('output').innerHTML += "average =" + avg + "<br/>";
</script>````
var-gpas=[];
var-gp;
var out=“”;
而(i!=“XXX”)
{
var i=提示(“输入gpa或XXX停止”);
如果(i!=“XXX”){
gpas.push(parseInt(i));
}
}
让sum=gpas.reduce((a,b)=>{
返回a+b;
});
总和
var avg=(总和/gpas.长度);
document.getElementById('output').innerHTML+=“average=“+avg+”
”;
````
请使用gpas.push(parseInt(i))
for循环后的部分代码似乎属于for循环的@费利克斯克林,哪些密码应该在里面?非常感谢你,这真的做到了。