2015-04-20 178 views
-4

好吧,我的朋友給了我這個輸入10個等級,並在提示輸出平均值。我對編碼很陌生,不知道該怎麼做。請幫忙!查找數字的平均值

var i, number, average=0; 
for (i = 1; i<=10; i++) { 
    grade = prompt("enter code hereEnter quiz grade: "); 
    grade = parseInt(grade); 
    average = average + grade; 
    document.write("number entered: " +grade+ "<br>"); 
} 
document.write("after loop sum is: " +average+ "<br>"); 
+2

http://www.mathsisfun.com/mean.html – vtortola

回答

0

您需要聲明一個函數來照顧它,然後調用該函數以使其運行。

像這樣:

var totGrade = 0, 
grade = 0, 
average = 0 

function gradeAvg(n) { 

    for (var i = 1; i<=n; i++) { 
     grade = parseInt(prompt("Enter quiz grade: ")) 
     totGrade = totGrade + grade 
     document.write("number entered: " + grade) 
     average = totGrade/i 
    } 
    alert(average) 
} 

gradeAvg(10) //the number of grades you wanna input, in your case 10 

編輯:增加了一些東西,適合您的情況更好。

+0

我會如何將平均本身放在提示框中? – jean

+0

@Robert不知道你爲什麼想這樣做,但是你可以在'prompt'中放置'totGrade/i',但提示需要一個答案,我不知道你想要回答什麼。順便說一句,如果你將這些東西移出函數,你應該設置一個等於'totGrade/i'的變量'average'。 – Yeats

+0

@Robert如果你想要的東西彈出像提示,使用'alert()' – Yeats

1

首先考慮在寫下任何代碼之前如何實際取平均值。

(#1級+級別#2 + ... +級#10)/ 10

看起來像你缺少這些步驟之一。

0

你應該考慮成績的數組

var grades = [] 

然後在你的提示,你可以通過多次循環,因爲你需要和grades.length分的總和得到的平均值。

以下是您對我的建議所描述的工作版本。

var calculateAverage = function (classSize) { 

    var grades = []; 
    var sum = 0; 
    var range = classSize; 

    //prompt for grades 
    for (var i = classSize; i>0 ; i--){ 
     grades.push(prompt("Enter the next grade")); 
    } 

    // Calculate average 
    for (var i = grades.length - 1; i >= 0; i--) { 
     sum += parseInt(grades[i]); 
    }; 

    average = sum/range; 
    console.log(average); // You could also just return this value 
}; 

calculateAverage(3);