當老師知道了班上的成績還有總平均後,想知道班上同學的分布狀況。
在統計學上,標準差可以當作班上成績離散程度的參考,因為標準差的平方就是變異數,所以在這裡我們只要先求得變異數就可以了。
如果班上同學的成績為 $x_1, x_2, \dots, x_n$,且平均為 $\mu_x$ ,則變異數的公式為 $\dfrac{(x_1 - \mu_x)^2 + {(x_2 - \mu_x)^2} + ... + (x_n - \mu_x)^2}{n}$,也就是 $\dfrac{\sum\limits_{i=1}^{n} (x_i - \mu_x)^2}{n}$。
請你寫一個程式計算同學們成績的變異數。
第一行輸入班上的人數 $n$, $n \leq 40$
接下來 $n$ 行依序輸入每個同學的成績
輸出變異數,精確到小數點後2位。
5 60 72 35 88 51
325.36
PYTHON可以從以下程式碼填充
def average(X, n):
s = 0
for i in range(n):
s = s+X[i]
avg = s / n
return avg
def variance(_______):
muX = ________ #呼叫average(取平均)
#以下還有一些程式碼要寫...
return _____
n = int(input())
scores = [0]*n
for i in range(n):
scores[i] = int(input())
var = variance(scores, n)
print(f'{var:.2f}')
C++可從以下程式碼填空
#include using namespace std; float average(int L[], int n) { float s = 0; for (int i = 0; i < n; i++) { s += L[i]; } return s / n; } float variance(______________) { float muX = ____________; //呼叫average取得平均 //以下還有一些程式碼要寫...
return _________; } int main() { int n; cin >> n; int scores[45] = {}; for (int i = 0; i < n; i++) { cin >> scores[i]; } float var = variance(scores, n); printf("%.02f", var); }
ID | User | Problem | Subject | Hit | Post Date |
沒有發現任何「解題報告」 |