为啥不对啊,例子运行结果是对的
查看原帖
为啥不对啊,例子运行结果是对的
1293640
MIKE_2300980135楼主2024/4/7 16:58
#include <stdio.h>
#include <math.h>
void sort(float *a,int n)
{
	int i,j;
	float t;
	for(i=1;i<n;i++)
	{
		for(j=n-1;j>=i;j--)
		{
			if(*(a+j)<=*(a+j-1))
			{
				t=*(a+j);
				*(a+j)=*(a+j-1);
				*(a+j-1)=t;
			}
		}
	}
}
float hanshu1(float *a,int n)
{
	float s=0;
	int i;
	for(i=1;i<n-1;i++)
	{
		s+=*(a+i);
	}
	return s;
}
float hanshu2(float *a,int n,int p)
{
	float m,r,k;
	m=fabs(*(a+1)-p);
	r=fabs(*(a+n-2)-p);
	k=m>r?m:r;
	return k; 
}
int main()
{
	int n,i;
	scanf("%d",&n);
	float a[300]={0};
	for(i=0;i<n;i++)
	{
		scanf("%f",a+i);
	}
	sort(a,n);
	float p=hanshu1(a,n)*1.0/(n-2);
	printf("%.2f",hanshu1(a,n)/(n-2));
	printf(" %.2f",hanshu2(a,n,p));
	return 0;
}
2024/4/7 16:58
加载中...