當老師知道了班上的成績還有總平均後,想知道班上同學的分布狀況。
在統計學上,標準差可以當作班上成績離散程度的參考,因為標準差的平方就是變異數,所以在這裡我們只要先求得變異數就可以了。
如果班上同學的成績為 $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 |
沒有發現任何「解題報告」 |
|||||