PAT 2-05. 求集合数据的均方差(15)

题目意思:求N个给定整数的均方差。

求平均值需要先转化为double类型,如果没转化会损失精度,造成错误。

代码如下:

#include<iostream>
#include<cmath>
using namespace std;
int n;
int a[10005];
int main()
{
	cin>>n;
	int sum=0;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
		sum+=a[i];
	}
	double avg=(double)sum/n;
	double sumSquare=0.0;
	for(int i=1;i<=n;i++)
	{
		sumSquare+=(a[i]-avg)*(a[i]-avg);
	}
	printf("%.5f\n",sqrt(sumSquare*1.0/n));
	return 0;
}

  

posted @ 2015-03-10 16:25  职场亮哥  阅读(473)  评论(0编辑  收藏  举报