前两个wa 求大佬帮助!!!
查看原帖
前两个wa 求大佬帮助!!!
866144
holo_23楼主2022/12/24 16:18
#include<stdio.h>
struct s{
	float score[20];
	float ave;
}stu[100];
void swap(float *x,float *y)
{
	float temp=*y;
	*y=*x;
	*x=temp;
}
void sort(struct s *stu,int m)
{
	float *p=stu->score,*min;
	float *p_end=stu->score+m-1;
	for(;p<p_end;p++)
	{
		min=p;
		for(float *p1=p+1;p1<=p_end;p1++)
		{
			if(*p1<*min)
			min=p1;
		}
		swap(min,p);
	 } 
}
void ave(struct s *stu,int m)
{
	float sum=0;
	for(int i=1;i<m-1;i++)
	{
		sum+=stu->score[i];
	}
	stu->ave=sum/(m-2);
}
int main()
{
	int n,m,max;
	scanf("%d%d",&n,&m);
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<m;j++)
		{
			scanf("%f",&stu[i].score[j]);
		}
	}
	for(int i=0;i<n;i++)
	{
		sort(stu+i,m);
	}
	for(int i=0;i<n;i++)
	{
		ave(stu+i,m);
	}
	for(int i=0;i<n;i++)
	{
		max=0;
		if(stu[i].ave>stu[max].ave)
		max=i; 
	}
	printf("%.2f",stu[max].ave);	
	
}
2022/12/24 16:18
加载中...