home *** CD-ROM | disk | FTP | other *** search
/ C Programming Starter Kit 2.0 / SamsPublishing-CProgrammingStarterKit-v2.0-Win31.iso / tyc / list5_5.c < prev    next >
C/C++ Source or Header  |  1993-10-16  |  685b  |  35 lines

  1.    /* Demonstrates function recursion. Calculates the */
  2.    /* factorial of a number. */
  3.  
  4.    #include <stdio.h>
  5.  
  6.    unsigned int f, x;
  7.    unsigned int factorial(unsigned int a);
  8.  
  9.    main()
  10.   {
  11.       puts("Enter an integer value between 1 and 8: ");
  12.       scanf("%d", &x);
  13.  
  14.       if( x > 8 || x < 1)
  15.       {
  16.           printf("Only values from 1 to 8 are acceptable!");
  17.       }
  18.       else
  19.       {
  20.           f = factorial(x);
  21.           printf("%u factorial equals %u", x, f);
  22.       }
  23.   }
  24.  
  25.   unsigned int factorial(unsigned int a)
  26.   {
  27.       if (a == 1)
  28.           return 1;
  29.       else
  30.       {
  31.           a *= factorial(a-1);
  32.           return a;
  33.       }
  34.   }
  35.