【发布时间】:2012-05-18 17:27:14
【问题描述】:
有没有更好的方法来计算两次双打的平均值?我该如何改进/纠正下面的代码?
double original_one, original_two; // can be any double >= 0
double used_one = original_one;
double used_two = original_two;
if ( original_one == 0 ) used_one = 1;
if ( original_two == 0 ) used_two = 1;
double average = used_one * used_two / 2; // average!
【问题讨论】:
-
这不是你计算平均值的方式。平均值 = 总和 / 计数
-
等等..是的,这与平均水平相差甚远...
-
@abrahab :但是是什么让你觉得你需要
*? -
您使用的是什么“平均”定义?
-
@AshBurlaczenko:这就是你做算术平均值的方式。也可以做(例如)几何平均值,即
sqrt(a*b)。还有调和平均等。但你通常是对的,没有相反的指示,“平均”意味着“算术平均”。