问题及代码:

/*烟台大学计算机学院
题目描述:在歌手大奖赛中,有9位评委为参赛的选手打分,分数为0~10分。选手最后得分为:
去掉一个最高分和一个最低分后,取其余7个分数的平均值。
输入:9位评委给选手找的分,9个0-10之间的小数
输出:选手的最后得分,即9个成绩中去掉一个最高,去掉一个最低后的平均成绩。结果输出中,保留3位小数。
作者:景怡乐
完成时间:2016年10月27日
*/
#include <stdio.h>
int main ()
{
double score,max=-1,min=11,sum=0;
int i;
double average;
for(i=1;i<=9;i++)
{
scanf("%lf",&score);//0=<score<=9.
sum=sum+score;
if (score>max)
max=score;
if (score<min)
min=score;
}
average=(sum-max-min)/7;
printf("%.3f",average);
return 0;
}

运行结果:

第9周OJ实践 大奖赛计分_i++

知识点总结:注意else if和if的区别。

              即使一个数是最大的,也不能剥夺它最小的权利。

学习心得:有些问题要特别注意特殊情况,可能其他都成立,却因为特殊的一个老是运行错误。