#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
int *max(int *lp,int a)
{
int b,d,e,*lpp;
int c,ad[100];
d=a;
for(b=0;b<a;b++)
{
ad[b]=(*(lp+b));
};
for(e=0;e<d;e++)
{
for(b=0;b<a;b++)
{
if(ad[b]<ad[b+1])
{
c=ad[b];
ad[b]=ad[b+1];
ad[b+1]=c;
};
} ;
a--;
}
lpp=ad;
return lpp;
}
void main(void)
{
int i,j;
double ave,sum,lf,hf;
int *m,*p;
int k[100];
p=k;
sum=0;
printf("请输入评位人数:");
scanf("%d",&j);
printf("请输入每个评位分数:\n");
for(i=0;i<j;i++)
{
scanf("%lf",&lf);
k[i]=lf*100;
};
m=(*max)(p,j);
printf("评位的分数从大到小排列为:\n");
for(i=0;i<j;i++)
{
hf=*(m+i)/100.00;
printf("%3.2f,",hf);
}
printf("\n");
for(i=1;i<j-1;i++)sum=sum+(*(m+i));
ave=sum/(j-2.0)/100;
printf("去掉一个最高分,一个最低分最后平均分为: %3.2f\n",ave);
printf("请输入每个选手的分数:\n");
for(i=0;i<j;i++)
{
scanf("%lf",&lf);
k[i]=lf*100;
};
m=(*max)(p,j);
printf("选手的分数从大到小排列为:\n");
for(i=0;i<j;i++)
{
hf=*(m+i)/100.00;
printf("%3.2f,",hf);
}
getch();
}