标题是记住的问题。
这是我到目前为止所做的:
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:
好的,现在我非常迷茫。每个人都有很好的答案,但除了我的理解之外,还不足以应用其中任何一个。我一直在玩所有的建议而且我还在迷路。有人能告诉我一个例子吗?我不想要举手,但是......
答案 0 :(得分:0)
你几乎就在那里,但你只是提示一次并将输入放入变量中。如果你想要10个数字,你需要提示10次(否则你需要解析输入并从中提取10个数字)。
假设您需要一些方法来填充elmt
到ask
(此处我使用input
代替ask
和nums
而不是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>