c++里怎么用array 和 for算一组数的标方差

来源:百度知道 编辑:UC知道 时间:2024/05/27 03:17:07
对了加分

/*呵呵,先问下标方差是不是n个数先求平均数avg,然后对这n个数与平均数的差的平方求和d2,然后再对d2/n开方得到的就是标方差s2?学的久了有点模糊了,下面的代码是按照我说的这个思路编的*/
#include <iostream>
#include <cmath>
using namespace std;
void main()
{
double array[1000];
int n;
int i;
double sum=0.0;
double avg=0.0;
double d2=0.0;
double s2=0.0;
cout<<"你需要输入的数的个数:"<<endl;
cin>>n;
for(i=0;i<n;i++)
{
cin>>array[i];
}
for(i=0;i<n;i++)
{
sum+=array[i];
}
avg=sum/n;
for(i=0;i<n;i++)
{
array[i]=(array[i]-avg)*(array[i]-avg);
d2+=array[i];
d2=d2/(i+1);
}
s2=sqrt(d2);
cout<<"标方差为:"<<s2<<endl;
}

给我分吧

骗子