前提・実現したいこと
https://onlinejudge.u-aizu.ac.jp/courses/lesson/2/ITP1/10/ITP1_10_C
の問題でエラーがでてしまいました。自宅の環境ではできたのですが、何が原因なのでしょうか。
問題文
n 人の学生を含むクラスでプログラミングの試験を行った。それぞれの得点をs1, s2 ... snとしたときの、標準偏差を求めるプログラムを作成せよ。
得点の平均値をmとすれば、分散α2は以下の式で得られる:
α2 = (∑ni=1(si - m)2)/n
分散の正の平方根が標準偏差αとなる。
Input
複数のデータセットが入力として与えられる。各データセットは以下の形式で与えられる:
学生の数 n
s1 s2 ... sn
n が 0 のとき入力の終わりとする。
Output
各データセットに対して、標準偏差を1行に出力せよ。ただし、0.0001以下の誤差があってもよい。
Constraints
入力で与えられる n が1000を超えることはない。
0 ≤ si ≤ 100
発生している問題・エラーメッセージ
timeout: the monitored command dumped core 0.00user 0.00system 0:00.17elapsed 0%CPU (0avgtext+0avgdata 2956maxresident)k 0inputs+16outputs (0major+234minor)pagefaults 0swaps
該当のソースコード
C++
1#include <iostream> 2#include <stdio.h> 3#include <cmath> 4using namespace std; 5 6int main() 7{ 8 while (1) { 9 int n; 10 int s[1000] = {}; 11 int sum = 0; 12 int A = 0; 13 cin >> n; 14 for (int i = 0; i < n; i++) { 15 cin >> s[i]; 16 } 17 for (int i = 0; i < n; i++) { 18 sum += s[i]; 19 } 20 int mean = sum / n; 21 for (int i = 0; i < n; i++) { 22 A += pow(s[i] - mean, 2); 23 } 24 double bunsan = A / n; 25 double hhensa = fabs(sqrt(bunsan)); 26 printf("%.4f\n", hhensa); 27 if (n == 0)return 0; 28 } 29}
試したこと
配列の使い方が間違っているのでしょうか、、
補足情報(FW/ツールのバージョンなど)
Windows10, visual stdio

回答2件
あなたの回答
tips
プレビュー