本题希望输入 n (0<n<=100)个整数,求n个整数的均方差。若将 n个数的平均值记为 Avg,则均方差计算公式为:
函数接口定义:
double Avg ( int N, int data[] );
double StdDev( int N, int data[] );
函数Avg计算并返回数组的平均值;函数StdDev计算并返回n个数据的均方差。
其中 N
和 data
都是用户传入的参数。 N
是要计算的数据个数; data
是传入的数组。
裁判测试程序样例:在这里给出函数被调用进行测试的例子。例如:
输入样例:
10
6 3 7 1 4 8 2 9 11 5
输出样例:
Average = 5.6000
Standard Deviation = 3.0397
double Avg ( int N, int data[] ){
int *p=data;
double avg,sum=0;
for(int i=0;i<N;i++){
sum+=*(p+i); //用数组都可以
}
avg=sum/N;
return avg;
}
double StdDev( int N, int data[] ){
double avg,sum=0.0,std;
avg=Avg(N,data); //调用求平均值
for(int i=0;i<N;i++){
sum+=pow(data[i]-avg,2);
}
std=sqrt(sum/N); //<math.h>里的函数在被调函数可以直接用
return std;
}