求出去最高分和最低分的最终得分
1 #include <stdio.h> 2 3 int main() 4 { 5 int i,n; 6 double grade,defen,max,min; 7 while (scanf_s("%d", &n)) 8 { 9 max = 0; 10 min = 100; 11 defen = 0; 12 for (i = 0; i < n; i++) 13 { 14 scanf_s("%lf", &grade); 15 defen += grade; 16 17 if (max < grade) 18 max = grade; 19 if (min > grade) 20 min = grade; 21 } 22 defen = (defen - min - max) / (n - 2); 23 printf("%.2lf", defen); 24 } 25 return 0; 26 }
参考答案
1 #include <stdio.h> 2 3 int main(void) 4 { 5 int n, i; 6 double min, max; 7 double x, y; 8 9 while (scanf("%d", &n) != EOF) 10 { 11 scanf("%lf", &x); 12 min = max = x; 13 for (i = 1 ; i < n ; i++) 14 { 15 scanf("%lf", &y); 16 x += y; 17 if (y > max) max = y; 18 if (y < min) min = y; 19 } 20 printf("%.2lf ", (x - min - max) / (n - 2)); 21 } 22 23 return 0; 24 }