关于#递归#的问题,如何解决?

img


找不出问题,但不论输入什么运行结果都为1。
求解答,解答,解答

你的代码不对,而且没有用递归

double fun(double x, int n)
{
    if (n == 1) return 1;
    double c = 1;
    int d = 1;
    double p = 1;
    for (int i = 0; i < n - 1; i++)
    {
        c = c * (0.5 - i);
        d *= (i + 1);
        p *= x;
    }
    return fun(x, n - 1) + c / d * p;    
}