歌手比赛系统中通过编号进行查询选手信息不大会,求指教
#include<stdio.h>#include<stdlib.h>
struct xuanshou{
int y;//编号
int fen[10];//评委打分
double t;//平均分
double total;//总分
}x[100],tidai;
void main(){
int q,i,j,w,e,r,t,y;
char m;//字符中介26行
int num;
char name[100][20];
printf("\t*********************歌手比赛系统*******************\n");
printf("1输入选手数据,评委打分******2成绩排序(按平均分)******3查询数据******4写入数据文件******5退出系统\n");
for(;;){
printf("请输入你要执行的操作数\n");
scanf("%d",&q);
switch(q){
case 1:printf("请输入有多少选手参加比赛\n");
scanf("%d",&w);
for(i=0;i<w;i++){
x[i].y=i+1;
printf("选手%d:姓名:",i+1);
printf("请输入十个评委所给的分数\n");
scanf("%d%d%d%d%d%d%d%d%d%d",&x[i].fen[0],&x[i].fen[1],&x[i].fen[2],&x[i].fen[3],&x[i].fen[4],&x[i].fen[5],&x[i].fen[6],&x[i].fen[7],&x[i].fen[8],&x[i].fen[9]);
for(e=1;e<10;e++)
if(x[i].fen[0]>x[i].fen[e]){r=x[i].fen[0];x[i].fen[0]=x[i].fen[e];x[i].fen[e]=r;}
for(e=0;e<9;e++)
if(x[i].fen[9]<x[i].fen[e]){r=x[i].fen[9];x[i].fen[9]=x[i].fen[e];x[i].fen[e]=r;}
x[i].t=(x[i].fen[1]+x[i].fen[2]+x[i].fen[3]+x[i].fen[4]+x[i].fen[5]+x[i].fen[6]+x[i].fen[7]+x[i].fen[8])/8.0;
printf("平均分:%.2f\n",x[i].t);
x[i].total=x[i].fen[1]+x[i].fen[2]+x[i].fen[3]+x[i].fen[4]+x[i].fen[5]+x[i].fen[6]+x[i].fen[7]+x[i].fen[8]+x[i].fen[9]+x[i].fen[0];
}break;
case 2:for(y=0;y<w-1;y++)
for(t=y+1;t<w;t++)
if(x[y].t>x[t].t){
tidai=x[y];x[y]=x[t];x[t]=tidai;
}
for(i=0;i<w;i++)printf("选手:%d 名字:%s 平均分:%f 第%d名\n",x[i].y,x[i].name,x[i].t,i+1);//q输入的操作数,i
break;
case 3:
for(;;)
{
printf("请输入您的编号:\n");
scanf("%d",&num);
for(i=0;i<w;i++)
{
if(num==x[i].y)
printf("姓名:%s 编号:%d 平均分:%f 总分:%f 排名:%d\n",x[i].name,x[i].y,x[i].t,x[i].total);
else if(num>5)
printf("(小心不要输入错误编号!!!)\n");
if(num==5)
break;
}
}
case 4:
{
}
break;
case 5:
exit(0);
}
}
}case 3 中的输出姓名有疑惑,希望各位大哥大姐帮帮指教下