zoukankan      html  css  js  c++  java
  • 蓝桥杯 歌赛新规

    歌赛新规则


    歌手大赛的评分规则一般是去掉一个最高分,去掉一个最低分,剩下的分数求平均。当评委较少的时候,如果我们只允许去掉一个分数,该如何设计规则呢?
    有人提出:应该去掉与其余的分数平均值相差最远的那个分数。即“最离群”的分数。


    以下的程序用于实现这个功能。其中x存放所有评分,n表示数组中元素的个数。函数返回最“离群”的那个分数值。请补全缺失的代码。


    把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。


    double score(double x[], int n)
    {
    int i,j;
    double dif = -1;
    double bad;
    for(i=0; i<n; i++)
    {
    double sum = 0;
    for(j=0; j<n; j++)
    {
    if(________) sum += x[j];
    }
    double t = x[i] - sum / (n-1);
    if(t<0) t = -t;
    if(t>dif)
    {
    dif = t;
    bad = x[i];
    printf("%d, %f ", i, x[i]);
    }
    }


    return bad;

    }

    外层循环的作用是将所有分数遍历一遍,内层循环的作用是将除了将要判断的分数x[i]以外的分数x[j]全部相加,所以判断条件应为i!=j。t在此处的作用是存储x[i]和平均值的差值

    参考答案:j != i

  • 相关阅读:
    二叉搜索树
    splay模板
    树状数组模板
    K尾相等数
    寻找最大数
    布线问题(最小生成树)
    开心的小明
    独木舟上的旅行(二)
    The Triangle(记忆化搜索)
    喷水装置(二)
  • 原文地址:https://www.cnblogs.com/hellocheng/p/7350175.html
Copyright © 2011-2022 走看看