/*
 * Example if using for loops for sequential access 
 * 
 * Computes the mean and standard deviation of an array of data 
 * and displays the difference between each value and the mean.
 * 
 */

#include <stdio.h>
#include <math.h>
#define SIZE 8 

int
main(void)
{
  double x[SIZE];
  double mean, st_dev, sum, sum_sqr;  	
    int    i;

    printf("Enter %d numbers \n> ", SIZE);
    for (i = 0;  i < SIZE;  ++i)
	scanf("%lf", &x[i]);

    sum = 0;
    sum_sqr = 0;
    for   (i = 0;  i < SIZE;  ++i) {
       sum += x[i];
       sum_sqr += x[i] * x[i];
    }

    mean = sum / SIZE;   
    st_dev = sqrt(sum_sqr / SIZE - mean * mean); 

    printf("The mean is %.2f.\n", mean);
    printf("The standard deviation is %.2f.\n", st_dev);

    printf("\nTable of differences between data values and mean\n");
    printf("Index       Item      Difference\n");
    for (i = 0;  i < SIZE;  ++i)
        printf("%3d%4c%9.2f%5c%9.2f \n", i, ' ', x[i], ' ', x[i] - mean);

    return (0);
}

