2456: 评委打分
时间限制: 1 Sec 内存限制: 128 MB
提交: 283 解决: 52
题目描述
一个歌唱比赛,比赛每次会从观众中随即抽取几名观众给分(观众至少有5个,分数为0~10分),由于观众感情色彩较重,不能像评委那般全部作数,所以赛方想出去掉2个最高分与2个最低分,剩下的取平均值作为一名选手的分数(分数取整,四舍五入),赛方无暇来做这个程序,于是来找你帮忙。
输入
刚开始,输入T,表示有T名选手参赛,跟着一个数n,为抽取的n名评委,接下来n个数为各评委的评分。
输出
输出第几名选手的平均分,每两名选手间有空行间隔(最后一名后没有)。
样例输入
2
5 0 10 5 4 4
7 5 4 6 2 3 0 3
样例输出
Num 1:4 Num 2:3
迷失在幽谷中的鸟儿,独自飞翔在这偌大的天地间,却不知自己该飞往何方……
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[20],i,j,n;
scanf("%d",&n);
for(int ii=0; ii<n; ii++)
{
int s=0;
scanf("%d",&j);
for(i=0; i<j; i++)
scanf("%d",&a[i]);
for(i=0; i<j-1; i++)
for(int c=0; c<j-i-1; c++)
{
if(a[c]>a[c+1])
{
int t=a[c];
a[c]=a[c+1];
a[c+1]=t;
}
}
for(i=2; i<j-2; i++)
s+=a[i];
printf("Num %d:%.0f\n",ii+1,(float)s/(j-4));
printf(ii==n-1?"":"\n");
}
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[20],i,j,n;
scanf("%d",&n);
for(int ii=0; ii<n; ii++)
{
int s=0;
scanf("%d",&j);
for(i=0; i<j; i++)
scanf("%d",&a[i]);
for(i=0; i<j-1; i++)
for(int c=0; c<j-i-1; c++)
{
if(a[c]>a[c+1])
{
int t=a[c];
a[c]=a[c+1];
a[c+1]=t;
}
}
for(i=2; i<j-2; i++)
s+=a[i];
printf("Num %d:%.0f\n",ii+1,(float)s/(j-4));
printf(ii==n-1?"":"\n");
}
return 0;
}