D语言版趣味程序:4.歌星大奖赛

D语言版趣味程序:4.歌星大奖赛

(说明:原文见http://www.kuqin.com/tiku/c100/,是C语言版。本人改写成D-tango版。与各位D初学者共勉。)

 

问题

在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分
为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现。


问题分析与算法设计
这个问题的算法十分简单,但是要注意在程序中判断最大、最小值的变量是如何赋值的。

import tango.io.Stdout,tango.io.Console,tango.util.Convert;
import tango.stdc.stdlib;
int main()
{
    double scores;
    double  max=-32768.0; /*先假设当前的最大值max为d语言整型数的最小值*/
    double min=32767.0; /*先假设当前的最小值min为d语言整型数的最大值*/
    double sum=0.0; /*将求累加和变量的初值置为0*/

        for(int i=1;i<11;i++)
        {
        Stdout.formatln("请输入第{} 个评委的分数",i);
        scores = to!(double) (Cin.get()); /*输入评委的评分*/
        sum+=scores; /*计算总分*/
        if(scores>max) max=scores; /*通过比较筛选出其中的最高分*/
        if(scores<min) min=scores; /*通过比较筛选出其中的最低分*/
        }

    Stdout.formatln("计算最大分数是:{} \n 最小分数是:{} ",max,min);
    Stdout.formatln("最后得分(平均分)是:{}",(sum-max-min)/8); /*输出结果*/

    system("pause");//程序执行后显示“按任意键继续”,以便观察

    return 0;
}

 

扩展题
题目条件不变,但考虑同时对评委评分进行裁判,即在10个评委中找出最公平(即评分最接返平均分)和最不公平(即与平均分的差距最大)的评委,程序应该怎样实现?

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值