タイトルにあるようにこれは標準偏差を求めるプログラムですが、結果として表示される値が
異常に大きなものになってしまいます。コンパイル自体はちゃんと出来てるみたいなのですが
どうすれば正常な値で標準偏差が求められるでしょうか?
どなたか回答よろしくお願いします。
#include <stdio.h>
#include <math.h>
double ave(int v[/url],int n)
{
int i;
double sum=0;
for(i=0; i<n; i++)
sum += v;
return sum/n;
}
double ave2(int v[/url], int n)
{
int i;
double sum=0;
for(i=0; i<n; i++)
sum += pow(v,2);
return sum/n;
}
double std(int v[/url], int n)
{
int i;
int sa[10];
double average;
average=ave(v,n);
return sqrt(ave2(sa,n));
}
int main(void)
{
int score[/url] = {25, 63, 72, 54, 92, 35, 89, 95, 44, 69};
double std_score;
std_score= std(score, 10);
printf("標準偏差 = %lf\n", std_score);
return 0;
}