/* June 15, 1998 */
/* program to find largest, smallest and average values in a collection 
of N numbers and display range and standard deviation*/

#include 
#include 

/* function prototype */
double std_dev (double ave, double sum, int snum);

main ()
{ /* begin main */
	/* declaration */
	int num;
	int i;
	double total;
	double average;
	double current_num;
	double smallest;
	double largest;
	double sum_squares;

	/* Get N */
	printf("Enter value of N> ");
	scanf("%d", &num);

	/* values initialization */
	total = 0;

	/* determine  smallest and largest number */
	for (i = 1; i <= num; ++i)
	{ /* begin for loop */
	
	/* request input */
	printf("Enter current number> ");
	scanf("%lf", ¤t_num);

	if (i == 1)
	{
		smallest = current_num;
		largest = current_num;
	}
	if (current_num < smallest)
	{
		smallest = current_num;
	}
	if (current_num > largest)
	{
		largest = current_num;
	}
	total += current_num;
	sum_squares += pow(current_num, 2);

	} /* end for loop */

	/* calculate average */
	average = total / num;	

	/* display results */
	printf("The smallest number is %.2f.\n", smallest);
	printf("The largest number is %.2f.\n", largest);
	printf("The average is %.2f.\n", average);
	printf("Standard deviation is %.2f\n", std_dev(average, sum_squares, num));

} /* end main */


/* function definition */
double 
std_dev (double ave, double sum, int snum)
{
	return (sqrt((sum / snum) - pow(ave, 2)));
}

    Source: geocities.com/yosemite/rapids/9568

               ( geocities.com/yosemite/rapids)                   ( geocities.com/yosemite)