/* Average: calculates the mean of some numbers */ #include #include #define BUFSIZE 256 main () { char buffer[BUFSIZE]; int i = 0; double size = 0; double sum = 0.0; double sqrsum = 0.0; double var = 0.0; double sdev = 0.0; while (fgets(buffer, BUFSIZE,stdin)) if (sscanf(buffer,"%lg", &size) > 0) { i++; sum = sum + size; sqrsum = sqrsum + ( size * size); }; var = ((i * sqrsum) - ( sum * sum)) / ( i * ( i - 1.0)); sdev = (double) sqrt( (double) var ); printf("Number of values: %d\n", i); printf("Sum: %lg\n", sum); printf("Mean: %lg\n", sum/i); printf("Variance: %lg\n", var); printf("StdDev: %lg\n", sdev); }