题目就在那里,求c语言大神给出详细程序,急急急!

2024-12-03 22:34:55
推荐回答(1个)
回答1:

干嘛要先排序再反复调整呢?你输入的都是整数,最后调整完了还是整数。调整到最后集合里要么是所有的数都一样,方差为0
要么是有两个数值的数,他们相差1,无法再匀了。
设你总共输入了N个数,输入一个累加一下,得到N个数的和sum,最后方差为B
调整完毕后大于均值的数的个数 b=sum%N
float n=N;
if(b!=0)
B=(sum/n-sum/N)*(sum/n-sum/N)*(N-b)+(1-sum/n+sum/N)*(1-sum/n+sum/N)*b;
else
B=0;