2017-02-18 550 views
-5

我正在尝试使用for循环来获取提示,但是如何从循环中获取平均值?当它使用propmt循环变量时,它会变成var student [0],var student [1]等等,它们是如何定义的,以便我可以对它们进行平均?for循环的求平均值

<html> 

<head> 
<title> 
    for 
</title> 
</head> 

<body> 
<p> 
    Average your marks: 
    <button onclick="myFunction()">Start</button> 
</p> 

<script type="text/javascript"> 
    function myFunction() { 
     var Avg = ""; 
     for (var i = 0; i < 5; i++) { // this part makes the prompt below repeat 5 times 
             // but how would i multiply them. 
      var Student = prompt("Enter your mark. "); 

      Avg +=      // no clue what to do here 
     } 
     window.alert(Avg); 
    } 
</script> 

</body> 

</html> 
+0

输入当我打开页面,它会重复var Student =提示(“输入您的标记”)。它会重复5次,就像我想要的那样,但是如何将5次重复的提示乘以5并得到平均值? @uzaif –

+0

将所有'Student'值加起来,然后循环后除以5 – charlietfl

回答

1
function myFunction() { 
    var sum = 0; // should be initialized to 0 not "" 
    for (var i = 0; i < 5; i++) { 
     var mark = prompt("Enter your mark: "); 
     sum += Number(mark); // sum the marks (convert mark to number because prompt return a string) 
    } 
    var avg = sum/5; // the average is the sum divided by the number of marks which is 5 
    alert("Your average is: " + avg); 
} 
+0

如果输入的内容不是数字,那么怎么办? ..... sum + = Number(mark); .... –

+0

谢谢,你是非常有帮助的! –

+0

@OusmaneMahyDiaw它给你一个NaN作为答案 –

0

你可以做的是增加与你从提示中输入的平均变化。然后通过将总数与将显示的提示量相除来得到平均值。

var Avg = 0; 
for (var i = 0; i < 5; i++) { 
    var Student = prompt("Enter your mark. "); 
    Avg += Student; 
} 
window.alert(Avg/5); 
0

这也提示用户输入什么号码的学生,他们正在进入大关,如果用户不输入任何它认为,学生标记是0:

<!DOCTYPE html> 
<html> 
<body> 

<p>Click the button to enter the 5 student's marks</p> 

<button onclick="myFunction()">Start</button> 

<p id="Average"></p> 

<script> 
function myFunction() { 
    var sum = 0; 
    var students = 5; 
    for (var i = 1; i <= students; i++) { 
     var mark = prompt("Please the mark for student " + i, 0); 
     sum += Number(mark) 
    } 
    document.getElementById("Average").innerHTML = 
     "The average mark was: " + (sum/students); 
} 
</script> 
</body> 
</html>