急需该问题的C程序~~C语言的!

来源:百度知道 编辑:UC知道 时间:2024/05/11 19:52:54
(1)在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分,选手最后得分为:曲调一个最高分和一个最低分后其余8个分数的平均值.
请编写一个程序实现.
(2)同时对评委评分进行裁判,即有10个评委中找出最公平(最接近平均分)和最不公平(即与平均分的差距最大)的评委.

提示
这个问题的第一个要求算法十分简单.
但是要主要在程序中判断最大,最小值的变量是如何赋值的.第二个要求为了考虑效率,要用到排序技术

#include "stdio.h"
void main()
{int a[11];int i,j,n,t,f;float k;int b[11];
k=0;
printf("评委给分\n");
for(i=0;i<=9;i++)
{/*printf("i=%d;\n",i);*/
start:
scanf("%d",&a[i]);
j=i+1;
printf("第%d个评委给分%d\n",j,a[i]);
if(a[i]>100||a[i]<0)
{printf("评委给分出错重新给分");
goto start;
}
}
i=0;
for(j=0;j<=9;j++)
{b[j]=a[i];
i=i+1;
/*printf("b=%d\n",b[j]);*/
}
for(i=0;i<=9;i++)
{for(n=i;n<=9;n++)
{if(a[i]>=a[n])
{t=a[i];
a[i]=a[n];
a[n]=t;
}
}
}
for(i=1;i<=8;i++)
{k=k+a[i];
/*printf("%d\n",a[i]);*/
}
k=k/8.0;
printf("去掉最高分最低分后的平均分是%f\n",k);
if((a[4]-k)>=(a[5]-k))
{t=a[4];
a[4]=a[5];
a[5]=t;
}
t=a[4];
for(j=0;j<=