「レポートの得点が記録されたテキストファイルがある。これからデータを読み
取り、平均、標準偏差、最大値、最小値を求めるプログラムを作りなさい」
という課題が出ていて友人にヒントを得て
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(void){
char *fnm="Book1.txt";
FILE *dat;
char *p,chs[100];
int ten;
int n=0;
int min;
int max;
double avr;
double sdv;
dat = fopen(fnm,"r");
sdv = avr = 0;
while(fgets(chs,100,dat)!=NULL){
ten = strtol(chs,&p,10);
if(n==0){
min = max = ten;
}
min = (min>ten)? ten:min;
max = (max<ten)? ten:max;
avr = avr+ten;
sdv = sdv+ten*ten;
n++;
}
avr = avr/n;
sdv = sqrt(sdv/n-avr*avr);
printf("最大 = %d\n",max);
printf("最小 = %d\n",min);
printf("平均 = %f\n",avr);
printf("偏差 = %f\n",sdv);
fclose(dat);
return 0;
}
どこがどう間違っているか指摘していただきたいです
よろしくお願いします
(管理人がソースコードの表示を変更しました)