求助为什么方差算出来有略微差距

#include<stdio.h>
#include<math.h>
int main(){
    int i;
    scanf("%d",&amp;i);
    for(;i>0;i--){
        int n;    
        int max,min;
        scanf("%d",&amp;n);
        int ray[n];
        float fcx,sum;
        for(int j=0;j<n;j++){
            scanf("%d",&amp;ray[j]);
        }
        max=ray[0];
        min=ray[0];
        for(int j=0;j<n;j++){
            if(ray[j]>max) max=ray[j];
            if(ray[j]<min) min=ray[j];
            sum=sum+ray[j];
        }
        sum=sum/n;
        for(int j=0;j<n;j++){
            fcx+=pow(ray[j]-sum,2);
        }
        float x=fcx/n;
        printf("%d %.3f\n",max-min,x);
    }return 0;
}
全部评论
float fcx,sum;初始化为0先试试?
1 回复 分享
发布于 2023-10-22 20:52 湖南

相关推荐

肥肠椒绿:双非本可不就犯天条了,双非本就应该打入无间地狱
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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