大奖赛计分

 

题目描述
在歌手大奖赛中,有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
提示

设置小数点后保留3位,用cout<<setiosflags(ios::fixed)<<setprecision(3);。还要记得#include<iomanip>

 


#include "stdio.h"                                                 
int main()
{
    int i=1;
    double ave, score, sum, max, min;
    max=-1;
    min=11;
    sum=0;
    do
    {
        scanf("%lf", &score);
        sum+=score;
        if(max<score)
            max=score;
        if(min>score)
            min=score;
        i++;
    }
    while(i<=9);
    ave = (sum-max-min)/7;
    printf("%.3f\n", ave);
    return 0;
}

 


#include <stdio.h> 
#define n 10 
int main( ) 

    int i=1; 
    double ave, score, sum, max, min;  //这几个变量涉及成绩,double是合理的 
    max=-1;  //这儿有技巧,第1位评委给的成绩一定大于-1,max将变成第1个成绩 
    min=11;  //同样和技巧,要学会这样“设圈套” 
    sum=0;   //注意:这4个变量在循环内赋初值是必须的,这意味着计算某一选手成绩的开始 
    printf("请输入选手的成绩(0-10)\n"); 
    do  //至少有一位评委,再用do循环 
    { 
        printf("第 %d 位评委给分:", i); 
        scanf("%lf", &score); 
        sum+=score; 
        if(max<score) 
            max=score;  // 联想上一层循环中max的初值,学会技巧 
        if(min>score) 
            min=score;    
        i++; 
    } 
    while(i<=n); 
    //下面开始计算 
    ave = (sum-max-min)/(n-2); 
    printf("减去一个最高分: %.3f\n", max); 
    printf(", 减去一个最低分: %.3f\n", min); 
    printf("当前选手的最后得分是:%.3f\n", ave); 
    printf("******************* SUCCESS ***********************\n"); 
    return 0; 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值