1. 程式人生 > >杭電oj 青年歌手大獎賽_評委會打分

杭電oj 青年歌手大獎賽_評委會打分

輸入 des ane output 第一個 i++ 輸出 turn 麻煩

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 我的方法比較麻煩,使用了冒泡法排序,再截取頭和尾進行分數的相加求平均值。
#include <stdio.h>
#include 
<stdlib.h> int main() { int n,i,j; float a[100]; float sum = 0.00,t; while(scanf("%d",&n)!=EOF) { for(i=0;i<n;i++) { scanf("%f",&a[i]); } for(i=0;i<n;i++) { for(j=i+1;j<n;j++)
if(a[i]>a[j]) {t = a[i]; a[i]=a[j]; a[j]=t; } } for(i=1;i<n-1;i++) { sum = sum+a[i]; } sum = sum/(n-2); printf("%.2f\n",sum); sum = 0
; } return 0; }

杭電oj 青年歌手大獎賽_評委會打分