c语言作业,用递归法求fx(x,n)的值
这个代码有啥问题嘛?得到的值是个很大的负值,跪求大佬,或者把答案代码发下,我自己对比。。。谢谢#include<stdio.h>#include<math.h>doubl...
这个代码有啥问题嘛?得到的值是个很大的负值,跪求大佬,或者把答案代码发下,我自己对比。。。谢谢#include <stdio.h>#include <math.h>double fx(double x,int n){ double p; p=0; if (n=1) p=x+p; if (n>1) p=pow(-1,n-1)*pow(x,n)+fx(x,n-1); return p;}double main(){ int n; float x,p; printf("请依次输入x,n\n"); scanf("%F%d",&x,&n); p=fx(x,n); printf("fx(%f,%d)=%f\n",x,n,p);}
展开
1个回答
2018-05-30
展开全部
#include <stdio.h>
#include <math.h>
double fx(double x,int n)
{
double p;
p=0;
if (n==1)//<-----------------
p=x+p;
if (n>1)
p=pow(-1,n-1)*pow(x,n)+fx(x,n-1);
return p;
}
int main()
{
int n;
float x,p;
printf("请依次输入x,n\n");
scanf("%f%d",&x,&n);//<-----------------
p=fx(x,n);
printf("fx(%f,%d)=%f\n",x,n,p);
return 0;
}
追问
为什么加个return 0就解决了啊
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询