【发布时间】:2014-10-29 01:40:31
【问题描述】:
我需要在给定数字中找到最接近(和次要)平均值的数字。例如:
如果给定的数字是 1、2、3、4、5,则平均值将为 3,最接近的数字是 2 和 4,但次要数字是 2,因此结果应该是 2。
或者,如果给定的数字是 1、325、350、299,则平均值将为 243.75,因此最接近的数字是 299。
int best = a[0];
for (i = 1; i < count; ++i)
best = abs(a[i] - x) < abs(best - x) ? a[i] : best;
【问题讨论】:
-
执行此操作时,您的数组是否始终排序?
-
数字总是正数吗?
-
这是作业吗?