#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N10
#define M10
struct compete{
char num[10];
char name[10];
float score[M];
float aver;
int no;
}com[N];
void Input(){
int i,j;
for(i=0;i<N;i++){
printf("第%d个选手的编号:",i+1);
scanf("%s",&com[i].num);
printf("姓名:");
scanf("%s",&com[i].name);
for(j=0;j<M;j++){
printf("第%d个裁判对该生打出的数:",j++);
do{
scanf("%f",&com[i].score[j]);
}while(com[i].score[j]<0);
}
}
return;
}
void scan(){
int i,j;
float max,min,sum;
compete temp;
for(i=0;i<N;i++){
sum=0;min=com[i].score[0];max=0;
for(j=0;j<M;j++){
sum+=com[i].score[j];
if(max<com[i].score[j])
max=com[i].score[j];
if(min>com[i].score[j])
min=com[i].score[j];
}
printf("max=%.2f\n",max);
printf("min=%.2f\n",min);
com[i].aver=(sum-max-min)/(M-2);
}
for(i=0;i<N-1;i++){
for(j=i+1;j<N;j++){
if(com[i].aver<com[j].aver{
strcpy(temp.num,com[i].num);
strcpy(com[i].num,com[j].num);
strcpy(com[j].num,temp.num);
strcpy(temp.name,com[i].name);
strcpy(com[i].name,com[j].name);
strcpy(com[j].name,temp.name);
temp.aver=com[i].aver;
com[i]aver=com[j].aver;
com[j].aver=temp.aver;
}
}
}
for(i=0;i<N;i++)
com[i].no=i+1;
printf("编号\t姓名\t得分\n");
for(i=0;i<N;i++)
printf("%s\t%s\t%.2f\n",com[i].num,com[i].name,com[i].aver);
return;
}
void search(){
char num[10],name[10];int n,i;
do{
printf("1.按编号查找
2.按姓名查找\");
scanf("%d",&n);
}while(n!=1&&n!=2);
if(n==1){
printf("要查找的编号:");
scanf("%s",num);
for(i=0;i<N;i++){
if(strcmp(num,com[i].num)==0){
printf("编号\t姓名\t得分\t排名\n");
printf("%s\t%s\t%.2f\t%d\n",com[i].num,com[i].name,com[i].aver,com[i].no);
break;
}
}
if(i==N)
printf("没有你要找的选手信息!\n");
}
if(n==2)
printf("要查找的姓名:");
scanf("%s",name);
for(i=0;i<N;i++){
if(strcmp(name,com[i].name)==0){
printf("编号\t姓名\t得分\t排名\n");
printf("%s\t%s\t%.2f\t%d\n",com[i].num,com[i].name,com[i].aver,com[i].no);
break;
}
}
if(i==N)
printf("没有你要找的选手信息!\n");
}
return;
}
void main(){
int choose;
while(1){
do{
printf("\t1.录入;\n\t2.浏览;\n\t3.查询;\n\t4.退出\n\t请选择功能:\n");
scanf("%d",&choose);
}while(choose!=1&&choose!=2&&choose!=3&&choose!=4);
if(choose==1){
Input();
system("pause");
system("cls");
}
else if(choose==2){
scan();
system("pause");
system("cls");
}
else if(choose==3){
search();
system("pause");
system("cls");
}
else{
printf("\tGoodbey!\n\n");
break;
}
}
system("ause");
}