原文: https://www.programiz.com/c-programming/examples/power-recursion

在此示例中,您将学习使用递归来计算数字的幂。

要理解此示例,您应该了解以下 C 编程主题:


使用递归计算幂的程序

  1. #include <stdio.h>
  2. int power(int n1, int n2);
  3. int main() {
  4. int base, a, result;
  5. printf("Enter base number: ");
  6. scanf("%d", &base);
  7. printf("Enter power number(positive integer): ");
  8. scanf("%d", &a);
  9. result = power(base, a);
  10. printf("%d^%d = %d", base, a, result);
  11. return 0;
  12. }
  13. int power(int base, int a) {
  14. if (a != 0)
  15. return (base * power(base, a - 1));
  16. else
  17. return 1;
  18. }

输出

  1. Enter base number: 3
  2. Enter power number(positive integer): 4
  3. 3^4 = 81

您也可以使用循环计算数字的幂

如果需要计算升到十进制值的数字的幂,可以使用pow()函数