社区讨论
求改正,结果对了,只有二十分
B2095白细胞计数参与者 3已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @m53uepmf
- 此快照首次捕获于
- 2024/12/25 19:59 去年
- 此快照最后确认于
- 2025/11/04 12:21 4 个月前
C
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
double calaver(double number[],int n,double max,double min){
double sum=0;
for(int i=0;i<n;i++){
if(number[i]!=max&&number[i]!=min){
sum+=number[i];
}
}
return sum/(n-2);
}
double calerror(double number[],double max,double min,int n,double aver){
double e=0;
for(int i=0;i<n;i++){
if(number[i]!=max&&number[i]!=min){
double l=fabs(number[i]-aver);
if(l>e){
e=l;
}
}
}
return e;
}
int main(){
int n;
scanf("%d\n",&n);
double number[n];
for(int i=0;i<n;i++){
scanf("%lf\n",&number[i]);
}
double max=number[0];double min=number[0];
for(int i=1;i<n;i++){
if(number[i]>max)
max=number[i];
if(number[i]<min)
min=number[i];
}
double aver=calaver(number,n,max,min);
double error=calerror(number,max,min,n,aver);
printf("%.2lf %.2lf",aver,error);
return 0;
}
这个错在哪里啊,我在自己的编译器上试了,结果是对的啊
回复
共 2 条回复,欢迎继续交流。
正在加载回复...