Or you can run it through a low-pass filter:
#define SMOOTHING_FACTOR 0.8 //between 0 (no smoothing) and 0.99 (maximum smoothing)
static float smoothedValue = 0;
float unsmoothedValue = 0;
unsmoothedValue = GetTheCurrentDataValue();
smoothedValue = (SMOOTHING_FACTOR * smoothedValue) + ((1 - SMOOTHING_FACTOR) * unsmoothedValue); //low pass filter
I think this is easier than messing about with arrays and calculating averages. It is mathematically rigorous and widely used.