理想与现实之间

学习的最好方法就是blog

博客园 首页 新随笔 联系 订阅 管理
要求是给出一个 int [] arr,求出这个数组中所有数的平均数。

不加考虑的话,可以这样写:

int Average(int[] arr)
{
      int sum = 0;
      foreach(int i in arr)
      {
            sum += i;
      }
      return sum / arr.length;
}


然而,这样的解法是错误的,因为sum在累加的过程中有可能溢出。如果换用浮点数,表示的范围是比较大,但似乎精度会有损失。

大家有什么好的办法没?
posted on 2004-04-17 18:14  Justin Shen  阅读(1180)  评论(5)    收藏  举报