LWY9527 @ 2022-12-28 11:19:00
#include<stdio.h>
#include<math.h>
int main()
{
int a,m,n;
double c=0,max1=0,max2=0,min1=100000,sum=0;
scanf("%d",&a);
double s[a];
for(m=0;m<a;m++)
{
scanf("%lf",&s[m]);
if(s[m]<min1)
min1=s[m];
if(s[m]>max1)
max1=s[m];
sum+=s[m];
}
double d=(sum-min1-max1)/(a-2);
for(m=0;m<a;m++)
{
if(s[m]!=max1&&s[m]!=min1)
{
c=fabs(s[m]-d);
if(c>max2)
max2=c;
}
}
printf("%.2lf %.2lf",d,max2);
return 0;
}
by Joker_lazydoghead @ 2022-12-28 11:34:12
你说有没有一种可能是有重复的
如:
5
3.00 1.00 1.00 1.00 2.00
那不就废了吗
所以要用一个maxi和mini去存位置
by LWY9527 @ 2022-12-28 15:52:51
@lazy_doghead 但是我是试过了,算出来的数据也没问题呀
by Joker_lazydoghead @ 2022-12-28 16:39:37
你可以试一下我给的这组数据
by LWY9527 @ 2022-12-28 20:15:21
测试了呀 1.33 ,0.67 ,有问题吗