C语言 f(x)=1+x+x^2/2!+x^3/3!+...+x^n/n!直到|x^n/n|

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/23 09:28:33
C语言f(x)=1+x+x^2/2!+x^3/3!+...+x^n/n!直到|x^n/n|C语言f(x)=1+x+x^2/2!+x^3/3!+...+x^n/n!直到|x^n/n|C语言f(x)=1+

C语言 f(x)=1+x+x^2/2!+x^3/3!+...+x^n/n!直到|x^n/n|
C语言 f(x)=1+x+x^2/2!+x^3/3!+...+x^n/n!直到|x^n/n|

C语言 f(x)=1+x+x^2/2!+x^3/3!+...+x^n/n!直到|x^n/n|
#include<stdio.h>
#include<math.h>
//f(x)=1+x+x^2/2!+x^3/3!+...+x^n/n!直到|x^n/n|<10^-6
double fun()
{
double s,xn,x0;
int y,i;
printf("请输入x=\t");
scanf("%lf",&x0);
s=1+x0; //前面两项的和
y=1;
xn=x0;
//变量说明,s(前n项和),y(表示n!),xn(表示x^n)
printf("第%d次求和结果:y=%d xn=%f s=%f\n",1,y,xn,s);
i=2;
while(1) //n的初始值1,i=1,则该循环只能执行一次就结束了
{
y=y*(y+1);
xn=xn*x0;
s=s+xn/y;
printf("第%d次求和结果:y=%d xn=%.8f s=%f\n",i,y,xn,s);
if(fabs(xn/y)<(1e-6))
break;
i++;
}
return s;
}
main()
{
double s;
s=fun();
printf("最后答案:f(x)=%lf\n",s);
}
 
程序我是在你的程序基础上改的,已经运行调试过了,你的程序中有一些错误,如果需要点评你源程序的话可以继续追问哦,