问题及代码:
/*Copyright(c)2016,烟台大学计算机学院
all rights reserved.
作者:曹欣宇
完成日期:2016年10月31日
题目描述
在歌手大奖赛中,有9位评委为参赛的选手打分,分数为0~10分。
选手最后得分为:去掉一个最高分和一个最低分后,取其余7个分数的平均值。请编写一个程序实现这个程序。
输入
9位评委给选手找的分,9个0-10之间的小数。
输出
选手的最后得分,即9个成绩中去掉一个最高,去掉一个最低后的平均成绩。结果输出中,保留3位小数。
样例输入
9.8 6.7 8.9 7.6 4.5 6.5 7.8 4.2 6.4
样例输出
6.914*/
#include<stdio.h>
int main()
{
float grade,max=-1,min=11;
float average,sum=0;
int i=0;
while(scanf("%f",&grade))
{
sum=sum+grade;
if(grade>max)
max=grade;
if(grade<min)
min=grade;
i++;
if(i==9) break;
}
average=(sum-max-min)/7;
printf("%.3f\n",average);
return 0;
}
运行结果:
知识点总结:
通过学习,进一步巩固了循环中输入的方法。
学习心得:
就这个题来说,还是比较简单的,其实还可以更复杂,更贴近现实。