【发布时间】:2014-04-28 22:21:48
【问题描述】:
我正在尝试编写一个 JavaScript 代码,该代码将接受用户输入并找到平均值。然后它应该把高于平均值的数字放在一个列表中,把数字放在平均值下面。除了对低于和高于平均值的数字进行排序外,一切正常。比你的帮助。
function getNums()
{
var nums = new Array();
var numAmt = prompt("How many data values do you have?");
numAmt = parseInt(numAmt);
var i = 0;
for (i = 0; i<= numAmt - 1; i++)
{
nums[i]= prompt("Enter the data value number " + (i + 1));
}
var sum = 0;
for(i = 0; i < nums.length; i++)
{
sum += parseInt(nums[i]);
var avg = sum/nums.length;
}
var big = 0;
var small = 0;
for (i = 0; i < nums.length; i++)
{
if (nums[i] > avg)
big += parseInt(numbers[i]);
else
small += parseInt(numbers[i]);
document.getElementById('numbers').innerHTML = "Your data: " + nums;
document.getElementById('average').innerHTML =("The mean(average) of these numbers is: " + avg.toFixed(2) +".<br>");
document.getElementById('bigger').innerHTML = "Your data: " + big;
document.getElementById('smaller').innerHTML = "Your data: " + small;
}
}
【问题讨论】:
-
为什么我总是看到人们在做
new Array() -
阅读课本中的第 3 章...
-
你好像在做
number + number = number -
你计算
avg的方式似乎不对,因为你在循环中计算它只是为了在下一次迭代中丢弃它。将其移出循环;不是为了程序的正确性(它会给出完全相同的结果),而是为了代码整洁。
标签: javascript arrays average