【MAC 上学习 C++】Day 22-3. 习题10-3 递归实现指数函数 (15 分)

习题10-3 递归实现指数函数 (15 分)

1. 题目摘自

https://pintia.cn/problem-sets/12/problems/353

2. 题目内容

本题要求实现一个计算x的n次方(n≥1)的函数。

函数接口定义:

double calc_pow( double x, int n );
函数calc_pow应返回x的n次幂的值。建议用递归实现。题目保证结果在双精度范围内。

输入样例:

2 3

输出样例:

8

3. 源码参考
#include 

double calc_pow(double x, int n);

int main()
{
    double x;
    int n;

    scanf("%lf %d", &x, &n);
    printf("%.0f\n", calc_pow(x, n));

    return 0;
}

double calc_pow(double x, int n)
{
    double s;

    if (n == 0)
    {
        s = 1;
    }
    else if (n == 1)
    {
        s = x;
    }
    else
    {
        s = x*calc_pow(x, n - 1);
    }

    return s;
}

你可能感兴趣的:(【MAC 上学习 C++】Day 22-3. 习题10-3 递归实现指数函数 (15 分))