题目:http://acm.gdufe.edu.cn/Problem/read/id/1044
青年歌手大奖赛_评委会打分
Time Limit: 2000/1000ms (Java/Others)
Problem Description:
青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。
Input:
输入数据有多组,每组占一行,每行的第一个数是n(2<n<=100),表示评委的人数,然后是n个评委的打分。
Output:
对于每组输入数据,输出选手的得分,结果保留2位小数,每组输出占一行。
Sample Input:
3 99 98 97 4 100 99 98 97
Sample Output:
98.00 98.50 思路:先排序,然后去掉最高最低分,把剩下的加起来并除以n-2 难度:简单 代码:
#include<stdio.h> int main() { int n; while(scanf("%d",&n)!=EOF) { int a,b,c,d,i; double e; int ch[n]; for(i=0;i<n;i++) scanf("%d",&ch[i]); for(a=0;a<n;a++) for(b=a;b<n;b++) if(ch[a]>ch[b]) { c=ch[a]; ch[a]=ch[b]; ch[b]=c; } e=0; for(d=1;d<n-1;d++) e=e+ch[d]; printf("%.2lf\n",e/(n-2)); } return 0; }
时间: 2024-10-05 07:52:28