基础实验2-2.2 求集合数据的均方差 (15分)

设计函数求 N 个给定整数的均方差。若将 N 个数 A[ ] 的平均值记为 Avg,则均方差计算公式为:[(A1​​Avg)2​​+(A2​​Avg)2​​++(AN​​Avg)2​​]/N​​。

输入格式:

输入首先在第一行给出一个正整数 N(≤),随后一行给出 N 个正整数。所有数字都不超过 1000,同行数字以空格分隔。

输出格式:

输出这N个数的均方差,要求固定精度输出小数点后5位。

输入样例 1:

10
6 3 7 1 4 8 2 9 11 5
 

输出样例 1:

3.03974
 

输入样例 2:

1
2
 

输出样例 2:

0.00000


AC代码如下
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;

int main()
{
	int n;
	scanf("%d",&n);
	double sum=0;
	
	int a[n];
	for(int i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
		sum+=a[i];
	}
	
	double avg = sum / n;
	
	double sum3=0;
	
	for(int i=0;i<n;i++)
		sum3+=pow(a[i]-avg,2);//求平方
	

	double ans = sqrt(sum3/n);//开根号
	
	printf("%.5lf",ans);
	
 } 

  

posted @ 2020-02-05 13:25  清明道人  阅读(1364)  评论(0编辑  收藏  举报