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

输入格式:

输入首先在第一行给出一个正整数 N(≤104),随后一行给出 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

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

#include <iostream>
#include<iomanip>
#include<cmath>
long double N, n[10000];
long double sum1 = 0;
long double sum2 = 0;
long double ave;
using namespace std;
int main()
{
    cin >> N;
    for (int i = 0; i < N; i++)
    {
        cin >> n[i];
        sum1 += n[i];
    }
    ave = 1.0*sum1 / N;
    for (int i = 0; i < N; i++)
    {
         sum2+= pow(n[i] - ave, 2);
    }
    sum2 /= N;
    
    sum2 = sqrt(sum2);

    cout << fixed << setprecision(5) << sum2;

    return 0;
}

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐