#include <stdio.h>
#include <string.h>
void delmaxmin(int a[],double *ave,int len);
void sort (int a1[],int a2[],int a[3],int len,
char name1[],char name2[],char name3[]);
void swap(int *a,int *b);
int main ()
{
int s1[]={96,97,98,98,100,97,96};//682
int s2[]={94,97,98,96,100,99,97};//681
int s3[]={95,100,99,96,97,96,97};//680
double *ave;
int length=7;
char n1[20]="li";
char n2[20]="zhang";
char n3[20]="zhou";
delmaxmin(s1,ave,length);
sort (s1,s2,s3,length,n1,n2,n3);
printf("ave=%.2f\n",*ave);
return 0;
}
void delmaxmin(int a[],double *ave,int len)
{
int max,min;
double sum=0;
max=min=a[0];
for(int i=0;i<len;i++){
if(a[i]>max){
max=a[i];
}
if(a[i]<min){
min=a[i];
}
sum+=a[i];
}
sum-=(max+min);
*ave=sum/(len-2);
}
void sort (int a1[],int a2[],int a3[],int len,
char *name1,char *name2,char *name3)
{
int sum1,sum2,sum3;
sum1=sum2=sum3=0;
for(int i=0;i<len;i++){
sum1+=a1[i];
}
for(int i=0;i<len;i++){
sum2+=a2[i];
}
for(int i=0;i<len;i++){
sum3+=a3[i];
}
int *p,*q,*r;
p=&sum1,q=&sum2,r=&sum3;
if(*p>*q) swap(name1,name2);
if(*p>*r) swap(name1,name3);
if(*q>*r) swap(name2,name3);
printf("%s<%s<%s\n",name1,name2,name3);
}
void swap(char *a,char *b)
{
char t[20];
strcpy(t,a);
strcpy(a,b);
strcpy(b,t);
}
