提示用户输入10个输入,将其存储在数组中,查找平均值,打印数字低于平均值

时间:2014-04-29 13:29:25

标签: javascript arrays algorithm for-loop average

标题是记住的问题。

这是我到目前为止所做的:

html>
 <head>
  <title> New Document </title>
 </head>
 <script type = "text/javascript">
 var i;
var elmt = nums[10];
var ask = prompt("Please enter 10 numbers");
var sum = 0
for(var i =0, i< elmt.length; i++;):
    sum += parseInt(elmt[i], 10);

var avg = sum/elmt.length;

 document.write("The sum of all the elements is: " + sum + " The average is: " +avg);

 <body>

 </body>
</html>

我不确定我要做的是说实话。我尝试研究数组和这个问题和类似的问题,所以我可以尝试学习语法,但无济于事。我正在练习这个以尝试和学习。请不要猛击,我不是要求任何人为我这样做,提示会没问题。我不是一个少年无休止地倾倒代码并希望互联网做我的功课。

EDIT1:

<html>
 <head>
  <title> nums </title>
 </head>
 <script type = "text/javascript">
var sum =0;
var belowAvg = 0;
var num = new Array(10);
var sum = 0
var i;

for(i = 0; i<10; i++;):
{
    num[i] = eval(prompt("Enter a number"));
    sum = sum + num[i];
}

avg = sum/10;
for (i=0; i<10; i++)
{
    if ( num[i] < avg)
    {
        belowAvg++;
    }
}

alert ("average is" + avg);
alert (belowAvg + "numbers are less than the average");

</script>

 <body>

 </body>
</html>

EDIT2:

好的,现在我非常迷茫。每个人都有很好的答案,但除了我的理解之外,还不足以应用其中任何一个。我一直在玩所有的建议而且我还在迷路。有人能告诉我一个例子吗?我不想要举手,但是......

1 个答案:

答案 0 :(得分:0)

你几乎就在那里,但你只是提示一次并将输入放入变量中。如果你想要10个数字,你需要提示10次(否则你需要解析输入并从中提取10个数字)。

假设您需要一些方法来填充elmtask(此处我使用input代替asknums而不是elmt - 但我们正在谈论次要语义):

方法一,提示10次:

// initialize array with 10 elements
var nums = new Array(10);
// iterate over each element and prompt for value
for (var i = 0; i < nums.length; i++){
  var input = prompt('Enter number ' + (i + 1) + ' of ' + (nums.length + 1));
  // place value (as a number) into the array
  nums[i] = new Number(input);
}
/* sum/average code */

方法二,提示一次和String.prototype.split

// initialize array with 10 elements
var nums = new Array(10);
// prompt for 10 numbers
var input = prompt('Enter ' + (nums.length + 1) + ' numbers separated by commas:');
var values = input.split(',');
// check we have the right amount
if (values.length == nums.length){
  // iterate over the values
  for (var i = 0; i < nums.length; i++){
    // place the input (as a number) into the array
    nums[i] = new Number(values[i]);
  }
}
/* sum/average code */

方法三,输入框:

<script>
  function average(){
    // initialize array with 10 elements
    var nums = new Array(10);
    // iterate over the elements
    for (var i = 0; i < nums.length; i++){
      // grab <input> based on id attribute
      var input = document.getElementById('num' + i);
      // insert the value (cast as a number) in to the array
      nums[i] = new Number(input.value); // case to number
    }
    /* sum/average code */
  }
</script>

<p>Enter 10 numbers:</p>
<input type="text" id="num0" />
<input type="text" id="num1" />
<input type="text" id="num2" />
<input type="text" id="num3" />
<input type="text" id="num4" />
<input type="text" id="num5" />
<input type="text" id="num6" />
<input type="text" id="num7" />
<input type="text" id="num8" />
<input type="text" id="num9" />

<button onclick="average()">Click to average</button>