Online Judge PTA 平均数和标准差

平均数和标准差

描述

求n个数的平均数和标准差。给定n个数X1, X2, X3 ...... Xn,数据的平均数为x,标准差定义如下:

image.png

输入

第一行一个正整数T,表示有T组测试数据。以下每行是一组数,第一个数为数据个数n(n<200),然后是n个正整数。

输出

对于每组数据输出一行,即平均数和标准差,两个数据均保留3位小数,并且以一个空格隔开。

输入样例 1 

2
5 1 1 1 1 1
6 1 2 3 4 6 5

输出样例 1

1.000 0.000
3.500 1.708

提示

HINT 时间限制:200ms 内存限制:64MB

#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;

int main() {
    int T;  // 表示有T组测试数据
    cin >> T;

    while (T--) {
        int n;  // 每组数据的个数
        cin >> n;

        double numbers[n], sum = 0, mean, variance = 0;

        // 输入每组数据,并计算总和
        for (int i = 0; i < n; i++) {
            cin >> numbers[i];
            sum += numbers[i];
        }

        // 计算平均数
        mean = sum / n;

        // 计算方差
        for (int i = 0; i < n; i++) {
            variance += (numbers[i] - mean) * (numbers[i] - mean);
        }
        variance /= n;

        // 计算标准差
        double stddev = sqrt(variance);

        // 输出平均数和标准差,保留3位小数
        cout << fixed << setprecision(3) << mean << " " << stddev << endl;
    }

    return 0;
}
如有侵权,联系删除
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Flocx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值