C Moving Average
Moving averages are useful since they do not require a buffer of samples to be maintained. Here is a simple implementation in C:
#include <stdio.h>
float ave(float num)
{
static float fAve = 0.0f;
static unsigned int fSmp = 0;
float weight = 0.0f;
fSmp++;
weight = 1.0f / fSmp;
fAve = (weight * num) + ((1 - weight) * fAve);
return(fAve);
}
int main(int argc, const char *argv[])
{
char str[100] = {0};
float num = 0;
/* Run until user enters …