Jump to content

Archive:Standard deviation (source code): Difference between revisions

From IdeaWazaWiki
wikademia>Mickraus
m Incorrect preprocessor lines fixed. Implemented <source> element. Other changes to make code more robust
wikademia>Remi
(No difference)

Revision as of 07:34, 18 March 2008

<math>Insert formula here</math> <source lang="c">#include <math.h>

  1. include <stdio.h>
  2. include <stdlib.h>
  1. define NUM_MAX 10

/* main: main processing of standard deviation */ /* NOTE: on UNIX you may have to compile with the -lm option

* at the *end* of the command line 
*/

int main(void) {

   int n, i, d, a[NUM_MAX];
   double x = 0, sd, s = 0, m, sum = 0;

   printf("enter how many [max %d]: ", NUM_MAX);
   scanf("%d", &n);

   if ( n > NUM_MAX )
   {
       printf("You entered a value greater than %d\n", NUM_MAX);
       exit(EXIT_FAILURE);
   }

   for (i = 0; i < n; i++)
   {
       printf("enter integer element %d of %d: ", i + 1, n);
       scanf("%d", &a[i]);
   }

   for (i = sum = 0; i < n; i++)
   {
       x = x + a[i];
       m = x / n;
       d = a[i] - m;
       sum += d * d;
   }

   s = sum / n;
   sd = sqrt(s);
   printf("the number of terms = %d\n", n);
   printf("their mean is m     = %f\n", m);
   printf("standard deviation  = %f\n", sd);

   /* indicate success */
   exit(EXIT_SUCCESS);

} </source>