用c++编写一个程序,计算并输出给定n个数的标准偏差:标准偏差公式:s=【(∑(xi-Ex)^2)/(N-1)】^0.5,公式中∑代表总和,Ex代表x的均值,^2代表二次方。跪求大神!急急急!
源代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include <iostream>
using namespace std;
float Average(float data[], int n);
float Bias(float data[], int n);
int main()
{ int n;
float data[100] = {0};
cout<<"Pls input how many numbers:"<<endl;
cin>>n;
cout<<"Pls input all the numbers:"<<endl;
for (int i = 0; i < n; i++)
cin>>data[i];
cout<<"The s is "<< Bias(data, n)<< endl;
system("pause");
return 0;
}
float Average(float data[], int n)
{ float sum = 0.0;
for(int i = 0; i < n; i++)
{
sum += data[i];
}
return sum / n;
}
float Bias(float data[], int n)
{ float temp = 0.0f;
float average = Average(data, n);
for (int i = 0; i < n; i++)
{
temp += powf(data[i] - average, 2);
}
return sqrtf((1.0 / (n - 1)) * temp);
}