#include<stdio.h>
#include<string.h>
struct xs{
int num;
char name[15];
int mark[10];
int pai;
};
int count=0;
int sum[10],max[10],min[10],i,j;
float ave[10];
void new_xs(struct xs xuanshou[]);
void search_xs(struct xs xuanshou[],int num);
void pai_xs(struct xs xuanshou[],float b[],int n);
int main(void){
int choice,num;
struct xs xuanshou[10];
do{
printf("请选择: \n 1:录入\n 2:查询\n 3:选手排名\n 0:退出\n_____________________________________________________________________________\n");
scanf("%d",&choice);
switch(choice){
case 1:new_xs(xuanshou);
break;
case 2:printf("请输入选手序号:\n");
scanf("%d",&num);
search_xs(xuanshou,num);
break;
case 3:for(i=0;i<10;i++){
max[i]=xuanshou[i].mark[0];
min[i]=xuanshou[i].mark[0];
for(j=0;j<10;j++)
{
sum[i]+=xuanshou[i].mark[j];
if(max[i]<xuanshou[i].mark[j]) max[i]=xuanshou[i].mark[j];
if(min[i]>xuanshou[i].mark[j]) min[i]=xuanshou[i].mark[j];
}
ave[i]=(sum[i]-max[i]-min[i])/8.0;
}
pai_xs(xuanshou,ave,count);
for(i=0;i<count;i++)
printf("%s %.2f\n",xuanshou[i].name,ave[i]);
break;
case 0:break;}
}while(choice!=0);
printf("\n ____________________ THE END ________________________\n");
return 0;
}
void new_xs(struct xs xuanshou[]){
struct xs x;
if(count==10){
printf("已经有十个选手了,无法再录入选手资料,谢谢合作\n");
return;
}
printf("请输入选手的参赛编号:\n");
scanf("%d",&x.num);
printf("请输入选手的姓名:\n");
scanf("%s",x.name);
printf("请输入选手的分数:\n");
scanf("%d",x.mark);
xuanshou[count]=x;
count++;
}
void search_xs(struct xs xuanshou[],int num){
int i,flag=0;
char name[15];
if(count==0){
printf("现在还没有选手的资料,请谅解\n");
return;
}
for(i=0;i<count;i++)
if(xuanshou[i].num==num||xuanshou[i].name==name){
flag=1;
break;
}
if(flag){
printf("选手序号:%d ",xuanshou[i].num);
printf("选手姓名:%d ",xuanshou[i].name);
printf("选手排名:%d ",xuanshou[i].pai);
}
else printf("对不起,没有找到该选手\n");
}
void pai_xs(struct xs xuanshou[],float b[],int n){
int i,k,j,t;
float temp;
char str[8];
for(i=0;i<n;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(b[k]>b[j]) k=j;
if(k!=i)
{
temp=b[i];
b[i]=b[k];
b[k]=temp;
strcpy(str,xuanshou[i].name); //交换
strcpy(xuanshou[i].name,xuanshou[k].name);
strcpy(xuanshou[k].name,str);
t=xuanshou[i].num;
xuanshou[i].num=xuanshou[k].num;
xuanshou[k].num=t;
}
}
}