急!!求C语言歌手大赛程序设计~
系统功能说明(1)系统中歌手和评委的人数不固定,但歌手最多100名,评委最多10人;(2)录入每名歌手的编号(或姓名)及每名评委的打分(采用10分制,评委打分最多两位小数...
系统功能说明
(1)系统中歌手和评委的人数不固定,但歌手最多100名,评委最多10人;
(2)录入每名歌手的编号(或姓名)及每名评委的打分(采用10分制,评委打分最多两位小数),并保存数据;
(3)去掉一个最高分和一个最低分后,求每名选手的平均分;
(4)按平均分由高到低的顺序对选手成绩进行排序,并保存数据;
(5)按下面的运行结果样式输出结果,对提示性的语句不限语言(中英文)及格式;
哪位高手能按照这个编一下~谢了! 展开
(1)系统中歌手和评委的人数不固定,但歌手最多100名,评委最多10人;
(2)录入每名歌手的编号(或姓名)及每名评委的打分(采用10分制,评委打分最多两位小数),并保存数据;
(3)去掉一个最高分和一个最低分后,求每名选手的平均分;
(4)按平均分由高到低的顺序对选手成绩进行排序,并保存数据;
(5)按下面的运行结果样式输出结果,对提示性的语句不限语言(中英文)及格式;
哪位高手能按照这个编一下~谢了! 展开
1个回答
展开全部
#include<stdio.h>
#include<math.h>
int main()
{
float k,s=0,a[10],max,min,fair,unfair;
int i,j,t;
for(i=0;i<10;i++)
{
scanf("%f",&a[i]);
s+=a[i];
}
min=max=a[0];
for(i=1;i<10;i++)
{
if(a[i]>max)
max=a[i];
if(a[i]<min)
min=a[i];
}
k=(s-max-min)/8;
printf("the score is %f\n",k);
fair=fabs(a[0]-k);
unfair=fabs(a[0]-k);
j=0;
t=0;
for(i=1;i<10;i++)
{
if(fabs(a[i]-k)<fair)
{
fair=fabs(a[i]-k);
j=i;
}
if(fabs(a[i]-k)>unfair)
{
unfair=fabs(a[i]-k);
t=i;
}
}
printf("the fair score is %f\n",a[j]);
printf("the unfair score is %f",a[t]);
for(i=0;i<9;i++)
{
for(j=0;j<9-i;j++)
{
if(a[j]<a[j+1])
{
k=a[j];
a[j]=a[j+1];
a[j+1]=k;
}
}
}
printf("\nafter sort ,the score are follows:\n");
for(i=0;i<10;i++)
printf("%f\t",a[i]);
}
类似的 你改改就行了
追问
可是我想要的是找出最高分和最低分 而不是最公平的分数和最不公平的
追答
我说了类似的 自己改改 我很忙的……
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询