#include <stdio.h>
#include <math.h>
int input(float data[], int max) {
int i;
for(i = 0; i < max && i < 100; i ++) {
printf("データを一つ入力してください: ");
if (scanf("%f",&data[i]) != 1) break;
if (data[i] < 0.0) break;
}
return i;
}
float average(float data[], int n) {
float a = 0.0;
int i;
for(i = 0; i < n; i ++) {
a += data[i];
}
return a / n;
}
float variance(float data[], int n) {
float x = average(data, n);
int i;
float a = 0;
for(i = 0; i < n; i ++) {
a += pow(x - data[i], 2.0f);
}
return a / (n - 1);
}
float max(float data[], int n) {
int i;
float m = 0.0;
for(i = 0; i < n; i ++) {
if (m < data[i]) m = data[i];
}
return m;
}
int main(void){
float d[100]; //処理するデータは最大100個まで
int n;
double s;
n = input(d, 100); // データの入力.実際に入力されたデータの個数をnに入れておく
printf("データ数は%dです\n", n);
printf("平均値は%fです\n", average(d, n)); // 平均値の計算と表示
s = variance(d, n); // 不偏分散の計算
printf("不偏分散は%fです\n", s); // 不偏分散値の表示
printf("確率誤差は%fです\n", 0.6745*sqrt(s/n)); // 確率誤差の計算と表示
/* 二問目 */
printf("最大値は%fである\n",max(d, n));
}