c_cpp 没有总和的计算平均值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 没有总和的计算平均值相关的知识,希望对你有一定的参考价值。
// $ g++ avg.cpp --std=c++11
#include <iostream>
// double average = 0;
// uint64_t count = 0;
// void Add(uint64_t data)
// {
// average += (data - average) / ++count;
// }
// double GetAverage()
// {
// return average;
// }
// double UpdateAverage(uint64_t data)
// {
// static double average = 0;
// static uint64_t count = 0;
// average += (data - average) / ++count;
// return average;
// }
class Averager
{
public:
Averager()
: average(0)
, count(0)
{}
~Averager() {};
void Add(uint64_t data) { average += (data - average) / ++count; }
double GetAverage() { return average; }
private:
double average;
uint64_t count;
};
int main()
{
uint64_t data[] = { 23, 14, 75, 23, 66, 78, 11, 26 };
// for (unsigned int i = 0 ; i < sizeof(data)/sizeof(data[0]) ; ++i ) {
// Add(data[i]);
// }
// std::cout << "avg: " << GetAverage() << std::endl;
// double avg;
// for (unsigned int i = 0 ; i < sizeof(data)/sizeof(data[0]) ; ++i ) {
// avg = UpdateAverage(data[i]);
// }
// std::cout << "avg: " << avg << std::endl;
Averager averager;
for (auto d: data) { // C++ 11 style.
averager.Add(d);
}
std::cout << "avg: " << averager.GetAverage() << std::endl;
}
以上是关于c_cpp 没有总和的计算平均值的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp 该C程序使用指针计算数组元素的总和。程序使用指针遍历数组并将元素加起来
c_cpp 最大总和使得没有两个元素相邻
如何计算数组中元素的总和和平均值?
win7如何用电脑计算器计算总和,平均值和总体标准偏差
Datagrid:计算页脚中列的平均值或总和
用于计算过去 24 个月及以上总和的 SQL