如何用C語言求一個數組的平均數?
1.按照小學的數學知識,平均數=所有數的和 / 數的個數
但是如果求一個數組x[999999999]其元素均爲99999999,即x[i]=999999對0<= i <=999999999都成立,這時怎麼辦?計算機根本沒有這麼一個數據類型可以存放這麼大的sum。
那麼有這麼一種思想:前一步的結果作爲後一步的運算因子,可以大大節省運算量和存儲量。
1和2的平均數就是將1+2=3平分給兩個位置([1.5] [1.5]),1,2,4的平均數就是將1+2+4=7平分給三個位置,那麼可以先將3放到位置中([1.5] [1.5] [1.5]+2.5 ),再將剩下的2.5除以3,平分到三個位置中。
於是算法就出來了
avg=0, avg+=(x-avg)/i;