题目意思:求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;
}
原文:http://www.cnblogs.com/CHLL55/p/4326318.html