2017-02-18 57 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>