青年歌手大奖赛_评委会打分


Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 49680 Accepted Submission(s): 24837



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





Author


lcy




源代码一:


#include<stdio.h> 
 #include<stdlib.h> 
 int cmp ( const void *a , const void *b )   //我用了快排
 { 
     return *(double *)a -*(double *)b;//由小到大排序 
 } 
 int main() 
 {
     int n,i;
     double a[100],sum; 
     while(~scanf("%d",&n)) 
     { 
         sum=0; 
         for(i=0;i<n;i++) 
             scanf("%lf",&a[i]); 
         qsort(a,n,sizeof(a[0]),cmp); 
         for(i=1;i<n-1;i++) 
             sum+=a[i]; 
         printf("%.2lf\n",sum/(n-2));
     }
     return 0;
 } 
源代码二:
 
#include <stdio.h>
 #include <string.h>
 #include <stdlib.h>

 int a[100];
 int main()
 {
   int i,n,sum;
   int min,max;
   while(scanf("%d",&n) != EOF)
   {
     sum=0;
     memset(a,0,100);
     for(i=0;i<n;i++)
     {
       scanf("%d",&a[i]); 
       sum+=a[i];          
     }
     min=max=a[0];
     for(i=0;i<n;i++)
     {
       if(min>a[i])
         min = a[i];
       else if(max<a[i])
         max = a[i];               
     }  
     sum=sum-min-max; 
     printf("%.2lf\n",sum*1.0/(n-2));                  
   }
   system("pause");
   return 0;    
 }