home *** CD-ROM | disk | FTP | other *** search
/ Microsoft Programmer's Library 1.3 / Microsoft-Programers-Library-v1.3.iso / sampcode / qc_prog / chap06 / expo.c < prev    next >
Encoding:
C/C++ Source or Header  |  1988-04-05  |  890 b   |  38 lines

  1. /* expo.c -- uses exp() function to  */
  2. /*            calculate powers       */
  3.  
  4. main()
  5. {
  6.     int expo(number, power);
  7.     int number, power;
  8.  
  9.     printf("Enter a number: ");
  10.     scanf("%d", &number);
  11.     printf("Raise to what power? ");
  12.     scanf("%d", &power);
  13.  
  14.     printf("Result: %d", expo(number, power));
  15. }
  16.  
  17. int expo(number, power)
  18. {
  19.     int count, value;
  20.     int total = 1;      /* store value of calculation */
  21.     if (power < 0)      /* reject negative exponents  */
  22.         {
  23.         printf("Error in expo(): negative exponent\n");
  24.         return(0);
  25.         }
  26.  
  27.     if (power == 0) /* any number to 0 power is 1 */
  28.         return(1);
  29.  
  30.     if (power == 1) /* any number to 1 power is itself */
  31.         return(number);
  32.  
  33.     /* calculate for power > 1 */
  34.     for (count = 1; count <= power; count++)
  35.         total *= number;
  36.     return(total);
  37. }
  38.