大奖赛计分

大奖赛计分

时间: 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;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注