89日目 標準偏差のプログラム書いてました
もうすぐ医療統計学のテストなもんで。
#include <stdio.h> #include <math.h> #define MAXDATA 25 // ここが直打ちなのでなんとかしたいですね main() { int i; double data[MAXDATA], sum, average, deviate[MAXDATA], us; sum = 0; for (i = 0; i < MAXDATA; i++) { scanf_s("%lf", &data[i]); printf("%.1lf ", data[i]); sum += data[i]; } average = sum/MAXDATA; printf("\n"); printf("sum: %.1f\n", sum); printf("ave: %.1f\n", average); sum = 0; for (i = 0; i < MAXDATA; i++) { deviate[i] = average - data[i]; // deviate 偏差 printf("%.2f ", deviate[i]); sum += (deviate[i]*deviate[i]); } us = sum/(MAXDATA-1); printf("\n"); printf("sum: %.2f\n", sum); // 偏差平方和 printf("u.s: %.5f\n", us); // unbisased estimate 不偏分散 printf("s.d: %.6f\n", sqrt(us)); }
test.txt
63 46 46 55 57 40 51 52 63 60 65 70 57 48 52 60 67 52 53 59 46 40 43 59 44
なんかね、Rでテストしたら授業の配布プリント(Excel)と結果が違ってたんです。
たぶんセルの入力値を指数にしてなかったんじゃないかな先生。