输入样例后,显示0.00 哪里有问题?

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,sum=0;
if(n==1)
result=x;
else
{
result=x
fn(x,n-1);
}
(n%2)==0?-result:result;
sum=sum+result;
return sum;
}

“(n % 2) == 0 ? -result : result;”你的这句作用是什么?结果没有进行赋值,是不是想写成:result = (n % 2) == 0 ? -result : result;