大奖赛计分
时间: 1ms 内存:128M
描述:
在歌手大奖赛中,有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
提示:
参考答案(内存最优[748]):
#include<stdio.h>
int main()
{
double integer,i,max,min,sum;
max=-32768; /*先假设当前的最大值max为C语言整型数的最小值*/
min=32767; /*先假设当前的最小值min为C语言整型数的最大值*/
sum=0; /*将求累加和变量的初值置为0*/
for(i=1;i<=9;i++)
{
scanf("%lf",&integer); /*输入评委的评分*/
sum+=integer; /*计算总分*/
if(integer>max)max=integer; /*通过比较筛选出其中的最高分*/
if(integer<min)min=integer; /*通过比较筛选出其中的最低分*/
}
printf("%.3lf\n",(sum-max-min)/7); /*输出结果*/
return 0;
}
参考答案(时间最优[0]):
#include<iostream>
#include<iomanip>
using namespace std;
int main( )
{
const int n=9;
int i;
double ave, score, sum, max, min;
i=1;
max=-1;
min=11;
sum=0;
do
{
cin>>score;
sum+=score;
if(max<score)
max=score;
if(min>score)
min=score;
i++;
}
while(i<=n);
ave = (sum-max-min)/(n-2);
cout<<setiosflags(ios::fixed)<<setprecision(3);
cout<<ave<<endl;
return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。
