|
发表于 2019-11-26 22:24:43
|
显示全部楼层
本楼为最佳答案
- #include <stdio.h>
- void swap(float * a , float * b)
- {
- float t ;
- t = * a ;
- * a = * b ;
- * b = t ;
- }
- main(void)
- {
- float d[10] , sum , average ;
- int k ;
- printf("输入10个评分:") ;
- scanf("%f%f%f%f%f%f%f%f%f%f" , & d[0] , & d[1] , & d[2] , & d[3] , & d[4] , & d[5] , & d[6] , & d[7] , &d[8] , & d[9]) ;
- if(d[0] > d[9]) swap(& d[0] , & d[9]) ;
- for(k = 1 ; k < 9 ; k ++) {
- if(d[k] < d[0]) swap(& d[0] , & d[k]) ;
- else if(d[k] > d[9]) swap(& d[k] , & d[9]) ;
- }
- for(sum = 0.0 , k = 1 ; k < 9 ; k ++) sum += d[k] ;
- average = sum / 8 ;
- printf("去掉最低分 %.2f , 去掉最高分 %.2f , 平均得分 %.2f\n" , d[0] , d[9] , average) ;
- }
复制代码
编译、运行实况:
- C:\Bin>g++ -static -o x x.c
- C:\Bin>x
- 输入10个评分:9.8 9.0 9.95 9.3 9.2 9.3 9.5 9.0 8.9 9.7
- 去掉最低分 8.90 , 去掉最高分 9.95 , 平均得分 9.35
- C:\Bin>
复制代码 |
|