求助为什么方差算出来有略微差距
#include<stdio.h>
#include<math.h>
int main(){
int i;
scanf("%d",&i);
for(;i>0;i--){
int n;
int max,min;
scanf("%d",&n);
int ray[n];
float fcx,sum;
for(int j=0;j<n;j++){
scanf("%d",&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;
}
#include<math.h>
int main(){
int i;
scanf("%d",&i);
for(;i>0;i--){
int n;
int max,min;
scanf("%d",&n);
int ray[n];
float fcx,sum;
for(int j=0;j<n;j++){
scanf("%d",&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先试试?
相关推荐
查看19道真题和解析 点赞 评论 收藏
分享

