//编写一个程序,计算x-1/2*x^3/4+1/2*3/4*x^5/6-1/2*3/4*5/6*x^7/8+……的近似值(直到最后一项的绝对值小于eps)
# include<stdio.h>
#define eps 2e-52
int main()
{
int i,m=1,b=1;
double a,x,s,f,jc1=1.0,jc2=1.0;//定义阶乘1,阶乘2
printf("请输入x\n");
scanf("%lf",&x);
a=x;
s=x;
for(i=2;jc2*a/jc1>=eps;i+=2,m+=2,b+=1)
{
jc1=jc1*i;
jc2=jc2*m;
b%2==1?f=-1:f=1;
a=a*x*x;
s=s+f*(jc2*a/jc1);
}
printf("%lf",s);
return 0;
}
我是C语言初学者,请大神帮我看看这段代码哪里错了,应该怎样改正,十分感谢!
添加回答
举报
0/150
提交
取消