题解 | 牛牛的数学作业

牛牛的数学作业

https://www.nowcoder.com/practice/6f5d239c34a7429cb325a3d836abc342

#include <limits.h>
#include <stdio.h>

int main() {
    int T;
    scanf("%d",&T);
    for(int i=1;i<=T;i++){
        int n;
        scanf("%d ",&n);
        long long sum = 0;          // 存储数字总和
        long long sum_squares = 0;  // 存储数字平方和
        int max_val = INT_MIN;      // 初始化最大值为最小整数
        int min_val = INT_MAX; 
        for(int j=1;j<=n;j++){
            int x;
            scanf("%d",&x);
            if (x > max_val) max_val = x;
            if (x < min_val) min_val = x;//用这个代码逻辑求最大最小并输出极差
            sum+=x;
            sum_squares+=(long long)x*x;
    }
        int range=max_val-min_val;
        double avg=(double)sum/n;
        double fangcha=(double)sum_squares/n-avg*avg;//这里用了数学推导,把公式简化为平方和除以n减去均值的平方的形式来输出方差;
        printf("%d %.3f\n",range,fangcha);
    }
    
    return 0;
}

全部评论

相关推荐

李橙子:结果虽不够理想,但过程本身已是宝贵的淬炼。能把学习机会放在薪酬之前,证明你目光长远。先踏实进去,用这段时间扎实学好Python后端,把公司项目吃透,你的价值会在下一份工作中完全体现。这个起点,值得。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务