哪里编译错了?如何实现能够使得else语句中的奇数项为正,偶数项为复?

img

img

img


#include <stdio.h>

double fn( double x, int n );

int main()
{
double x;
int n;

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

return 0;

}

/* 你的代码将被嵌在这里 */

double fn( double x, int n )
{
double result;
if(n==1)
result=x;
else
{
if(n%2==0)
result=-nfn( double x, int n );
else
result=n
fn( double x, int n );
}
return result;
}

result=-n * fn( x, n );
函数调用不需要写参数类型

double fn(double x, int n)
{    
    double result=x;

    if(n==1)
        return x;

    for(int i=1;i<n;i++)
        result*=x;

    result=(n%2==0)?-result:result;

    return result + fn(x, n-1);
}