gun club 2官网:一道C语言编程题 大家帮帮忙

来源:百度文库 编辑:杭州交通信息网 时间:2024/03/29 21:45:11
给歌手打分
N名裁判给M名歌手打分,评分原则是去掉一个最高分,去掉一个最低分,剩下的分数的平均值为该歌手的最终得分。裁判给分的范围是60≤分数≤100。裁判人数N=10。编写一个程序,每个裁判所给的分数由键盘输入,要求屏幕输出歌手的姓名和他的最终的分;假如有50名歌手参加比赛,按得分由高到低输出全部歌手姓名和得分。
一、目的和要求
1.综合应用C语言的基本语句,编写应用程序。
2.通过程序设计掌握C语言函数和数组的定义和引用;进一步掌握循环、分支结构。
3.可以使用数组、循环、分支实现

#include<stdio.h>
#define N 10
#define M 50
struct xuanshou
{
char name[8];
int score[N];
float defen;
}xs[M],t;
void main()
{
int i,j,m,n,s,k=0;
for(i=0;i<M;i++)
{
printf("Xing ming:");
scanf("%s",&xs[i].name);
printf("Qing ping wei wei %s xuan shou da fen(60 ~ 100)\n",xs[i].name);
for(j=0;j<N;j++)
{
printf("%d hao ping wei da fen:",(j+1));
scanf("%d",&xs[i].score[j]);
if(xs[i].score[j]<60||xs[i].score[j]>100)
{
printf("Chong xin shu ru,fen shu zai 60 zhi 100 zhi jian\n");
j--;
}
}
for(m=0;m<N;m++)
for(n=0;n<(N-1);n++)
if(xs[i].score[m]>xs[i].score[n])
{
s=xs[i].score[m];
xs[i].score[m]=xs[i].score[n];
xs[i].score[n]=s;
}
for(j=0;j<N;j++)
{
printf("%4d",xs[i].score[j]);
k+=xs[i].score[j];
}
xs[i].defen=(float (k-xs[i].score[0]-xs[i].score[N-1]))/(N-2);
printf("\nQu diao yi ge zui gao fen ,qu diao yi ge zui di fen,\nxuan shou %s de zui zhong de fen : %0.2f\n",xs[i].name,xs[i].defen);
k=0;
}
for(m=0;m<M;m++)
{
for(n=0;n<(M-1);n++)
{
if(xs[m].defen>xs[n].defen)
{
t=xs[n];
xs[n]=xs[m];
xs[m]=t;
}
}
}
for(i=0;i<M;i++)
printf("Di %d ming %s%6.3f\n",i,xs[i].name,xs[i].defen);
}

#include<stdio.h>
void mian()
{
int N=10;
float score;
}