题解 | 牛牛的数学作业

牛牛的数学作业

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

题干解读:分别对输入的T张试卷的数据进行处理,输出他们字数的极差和方差.

解体思路:先利用for循环来对每张试卷的信息进行处理,找出最大和最小值,并求出字数和。然后求极差和平均数.

极差=最大值-最小值.平均数=和/n;

再由平均数求得方差即可.

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

int main() {
    int t;
    cin>>t;
    for(int i=0;i<t;i++){
        int n;
        cin>>n;
        int a[n];
        int max,min,sum=0;
        for(int j=0;j<n;j++){
            cin>>a[j];
            sum +=a[j];
            if(j==0){
                max = a[j];
                min = a[j];
            }else if(a[j]>max){
                max=a[j];
            }else if(a[j]<min){
                min = a[j];
            }
        }
        cout<<max-min<<" ";
        double ave = (double)sum/n;
        double s;
        double v=0;
        for(int k=0;k<n;k++){
            v += (a[k]-ave)* (a[k]-ave);
        }
        s = v/n;
        cout<<fixed<<setprecision(3)<<s<<endl;
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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