题解 | 牛牛的数学作业

牛牛的数学作业

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

#include <stdio.h>

int main() {
    int t,del,a[100000],b[100000],j;
    double sum,max,min,s,aver;
    scanf("%d",&t);
    for(int i=0;i<t;i++)
    {
    scanf("%d",&a[i]);
    for( j=0;j<a[i];j++)
    {
scanf("%d",&b[j]);
    }
        sum=0,s=0;
        max=min=b[0];//这里注意每次走a[]数组要重新初始化
    for(int k=0;k<a[i];k++){
if(max<b[k])max=b[k];
if(min>b[k])min=b[k];
sum+=b[k];
}
    del=max-min;
aver=sum/a[i];
for(int k=0;k<a[i];k++)
{
    s+=((b[k]-aver)*(b[k]-aver))/(a[i]);
    }
    printf("%d %.3f\n",del,s);
    
    }
    return 0;
}//麻辣个菠萝,这里必须用double双精度,不然误差会比较大,搞得我卡了那么久,气死了。

全部评论

相关推荐

02-16 01:39
南昌大学 Java
重剑Ds:感觉不太可能 后端都减飞了 根本不缺人
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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