标签:div bsp printf col ble main size [] clu
歌手大赛的评分规则一般是去掉一个最高分,去掉一个最低分,剩下的分数求平均。
当评委较少的时候,如果我们只允许去掉一个分数,该如何设计规则呢?
有人提出:应该去掉与其余的分数平均值相差最大的那个分数。即"最离群"的分数。
以下的程序用于实现这个功能。其中数组x存放所有评分,n存元素的个数。
函数输出最"离群"的那个分数值。请补全缺失的代码。
比如 1,2,3,4,5五个数
双重for循环表示: (2+3+4+5) + (1+3+4+5) + (1+2+4+5) + (1+2+3+5) +(1+2++3+4)
#include <stdio.h>+ int main() { double x[]={7,8,9.2,8.5,7.5,10.1,8.6,9.5,8,6.6}; int n=sizeof(x)/sizeof(x[0]); double bad,sum,t; double dif=-1; for (int i=0;i<n;i++) { sum = 0; for (int j=0;j<n;j++) { if (j!=i) sum += (x[j]/(n-1)); //核心 } t = x[i]-sum/(n-1); if (t<0) t=-t; if (t>dif) { dif = t; bad = t+sum/(n-1); //核心 } } printf("%.1f\n",bad); return 0; }
标签:div bsp printf col ble main size [] clu
原文地址:http://www.cnblogs.com/fzuhyj/p/8016264.html