评委评分,去除最高最低分,算平均分,平均分的处理需要乘1.0,使得运算以双精度浮点数进行计算
1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<math.h> 4 #include<string.h> 5 int main() 6 { 7 int n; 8 int i,j; 9 int s[200]; 10 int m,M,mp,Mp; 11 double ave; 12 while(scanf("%d",&n)!=EOF) 13 { 14 m=100000; 15 M=-100000; 16 memset(s,0,sizeof(s)); 17 for (i=1;i<=n;i++) 18 { 19 j=0; 20 scanf("%d",&s[i]); 21 if (s[i]>M) 22 { 23 M=s[i]; 24 Mp=i; 25 } 26 if (s[i]<m) 27 { 28 m=s[i]; 29 mp=i; 30 } 31 } 32 s[mp]=0; s[Mp]=0; 33 for (i=1;i<=n;i++) 34 j+=s[i]; 35 ave=1.0*j/(n-2); 36 printf("%.2lf ",ave); 37 } 38 return 0; 39 }