c语言期末作业编写程序,原创代码,跪求各位大神帮忙,拜托拜托,谢谢你们。题目是—:有十个选手参加歌

c语言期末作业编写程序,原创代码,跪求各位大神帮忙,拜托拜托,谢谢你们。题目是—:有十个选手参加歌唱比赛,十个裁判对每个选手的演唱进行打分,去掉一个最高分,去掉一个最低分,剩下分数的平均值最为每位选手的最后成绩
要求:1、采用结构体定义每个选手的参赛编号,姓名以及十个裁判打出的分数;
2、从键盘输入每个选手的相关信息:参赛编号,姓名和十个得分;
3、计算每位选手的最后得分,并按分数由高到低排序;
4、查询功能:输入参赛选手的编号或姓名,便可输出该选手的得分以及排名;
以上功能采用菜单操作方式,即从键盘输入1到3这三个数,分别完成以上2到4的功能。

#include<stdio.h>
#include<string.h>
#define N 10//定义最多选手个数

typedef struct xuanshou
{
char bianhao[20];//选手编号
char name[20];//选手姓名
float a[10];//评委打分
float grade;//平均分,嫌麻烦可以直接放到数组里去
}Xu;

Xu xuanshou[N];//选手数组
Xu temp;//用来调换

void init()//输入函数
{
int i,j;
float sum,max,min;
char c;
for(i=0;i<N;i++)
{
sum=0;//统计总分最后求得平均分
max=0;min=100;
printf("请输入第%d个选手的姓名:",i+1);
scanf("%s",&xuanshou[i].name);
printf("请输入10位评委的打分:");
for(j=0;j<10;j++)
{
scanf("%f",&xuanshou[i].a[j]);
scanf("%c",&c);
sum+=xuanshou[i].a[j];
if(max<xuanshou[i].a[j])max=xuanshou[i].a[j];
if(min>xuanshou[i].a[j])min=xuanshou[i].a[j];
if(j==9)xuanshou[i].grade=(sum-max-min)/8;
}
}
temp.grade=xuanshou[0].grade;
}

void paixu()//对数组进行从大到小的排序
{
int i,j,k;
for(i=0;i<N;i++)
for(j=i+1;j<10;j++)
if(temp.grade<xuanshou[j].grade)
{
strcpy(temp.name,xuanshou[i].name);
temp.grade=xuanshou[i].grade;
for(k=0;k<10;k++)
temp.a[k]=xuanshou[i].a[k];//temp存储当前排序中要排位置的信息
strcpy(xuanshou[i].name,xuanshou[j].name);
xuanshou[i].grade=xuanshou[j].grade;
for(k=0;k<10;k++)
xuanshou[i].a[k]=xuanshou[j].a[k];//将较大的移到当前要排序的位置
strcpy(xuanshou[j].name,temp.name);
xuanshou[j].grade=temp.grade;
for(k=0;k<10;k++)
xuanshou[j].a[k]=temp.a[k];//将之前排序位置元素移至该处
}
}

void chazhao()
{
char s[20];
int i;
printf("请输入选手编号或姓名:");
scanf("%s",s);
for(i=0;i<N;i++)
if(strcmp(xuanshou[i].bianhao,s)==0||strcmp(xuanshou[i].name,s)==0)
{
printf("选手分数为:%d 排名为:%d",xuanshou[i].grade,i+1);
break;
}
}
void display()//显示输出函数
{
int i;
printf("名次\t编号\t姓名\t分数\n");
for(i=0;i<N;i++)
printf("%d\t%s\t%s\t%f\n",i+1,xuanshou[i].bianhao,xuanshou[i].name,xuanshou[i].grade);
}

int main()
{
int n;
printf(" ===========歌手比赛==========\n");
printf("操作:(退出请直接关闭窗口)\n1.输入信息\n2.排序输出名次\n3.查找选手\n");
while(1)
{
printf("选择:");
scanf("%d",&n);
switch(n)
{
case 1:
{
printf("请输入选手信息\n");
printf("注意:输入评委分数的时候请用空格将各分数隔开输入(例如:10 20 30 40Enter)\n");
init();
paixu();
}break;
case 2:display();
case 3:chazhao();
}
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-01-07
拿不下来追问

什么意思?

跪求!!关于C语言的编程问题!急~
合理运用C语言的数组,指针,结构体以及文件操作等,实现一个模拟的班级通讯录管理系统。该系统用来管理学生的基本信息,通信信息。具体的要如下:1) 工作人员可以通过此程序来管理学生的信息,包括查询,添加,修改,删除等功能。2) 在进行添加时,系统会自动监测所添加的学生信息是否已经存在,如果存在,...

一道数学题,拜托各位大师帮帮忙啦,偶谢谢你了,题目要稍等一下,在补充...
圆柱总体积 = 1170 *3 \/ (1+3) ÷ (1 - 1\/4) = 1170 立方厘米 列成全式就是;圆柱总体积 = (30×13×3) × [3\/(3+1) ] ÷ (1 - 1\/4) = 1170 立方厘米

跪求一篇原创文章“中国梦,天使梦”,拜托各位大神们了!在线等...
我的中国梦之白衣天使梦 2013-10-10 11:18:54字号:T|T “一个人可以一无所有,但是不能没有梦想”这句话,我一直记得。是的,正是因为有梦想,我们才经历坎坷依然前行,正是因为有梦想,我们才历经沧桑信心不改。淘宝网的创始人马云、“试飞英雄”李中华、影视明星李冰冰……他们都登上了梦想的...

...表达出乔迁和过生的意思,谢谢各位大神拜托了各位 谢谢
贤贵乔迁千秋喜 流琼贺寿百年恩 横批:双喜临门 追问: 非常好,一看你就有才,但感觉好像缺了点什么似的

跪求有周靖两字的祝福诗,是毕业留言的,拜托各位高人帮帮忙,急用的,谢...
七绝毕业祝福 岁月悠悠似水流,同窗四载忆飞舟。周郎聚首何年月,婧女言欢...(韵)⊙平⊙仄平平仄,⊙仄平平仄仄平。(韵) ...周郎人道古英雄靖...

...写不出来,拜托大家了,高悬赏,高悬赏,帮帮忙,题目就是
尊敬的各位领导,我是来自xxx级xxx班的xxx,这次向上级提出申请法学系团总支学生会组织部副部长,希望一展自己的抱负。当今社会,要想使自己或一个团体立于不败之地,除了要自强,还必须要有一种团队合作和民主的精神。马克思、恩格斯曾说过,只有在集体中,你才能全面发展其才能,发挥个人最大的优点。我...

跪求英文翻译,拜托各位大神了,谢谢。
截拳道对敌预备姿势 脚步的弹跳和警惕是中心主题。保持左脚跟抬起微曲,随时准备踢出并爆发为动作。人永远不是固定或紧张的,而是时刻准备好并可以变化的。左:从正面位置进行躲避性的头部位置变化及突然的高低变化。肩部微耸,下巴微垂,保护右侧脸 右肘保护躯干中间、右腹及右侧身体 右膝微微向内侧转,...

...点不想,跪求各位大神帮忙鉴定一下,这是什么,拜托!!
其造型肯定不是天然的,可能是以前打磨的某类工具。质地确实是岩浆岩,表面凹槽内原来应该充填的是易溶盐岩,被长年累月风化后,就形成了坑和凹槽。

...越全越好,越快越好。各位大神,帮帮忙,拜托了!!!
你们打完他真饶了他吗……——“华哈哈哈哈哈哈!”她这一乐把焦魁乐含糊了:“你笑什么?”——“你太寒碜了!你呀!”——焦魁“噗——”一口鲜血栽倒在地,娘娘一跺脚“哎哟,可惜了哦!是个玩意儿啊!”“大王千岁!小妃……恐怕……命不长久!”“……我认为没事儿。”“这便是我家国...

...一集最后那首插曲,没有歌词的,是纯音乐,拜托各位大神了!谢谢...
黒执事Book of Circus OST

相似回答