其他分享
首页 > 其他分享> > 求一组大数的平均数

求一组大数的平均数

作者:互联网

如果用传统的方法,先把所有的数加起来再除以个数,求和时可能溢出,所以不能用这种方法。

 

#include <stdio.h>
#include <string.h>
#include "string"

using namespace std;

double getAver(unsigned int *p, int iSize)
{
    double dbAver = 0;
    if(iSize == 0)
    {
        return dbAver;
    }
    
    dbAver = *p++;
    for(int i = 1; i < iSize; i++)
    {
        dbAver = dbAver + (*p++ - dbAver)/ (i + 1);
    }
    
    return dbAver;
}


int main()
{
  unsigned int arr[8] = {1, 2, 3, 4, 5, 6, 7, 8};    
  double dbRes = getAver(arr, sizeof(arr)/sizeof(unsigned int));
  printf("Hello %f ", dbRes);

  return 0;
}

 

标签:arr,return,一组,大数,int,平均数,unsigned,dbAver,include
来源: https://www.cnblogs.com/ghnie/p/16669092.html