作业帮 > 综合 > 作业

C语言编程,根据泰勒多项式编程计算sinx的近似值

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/27 19:18:24
C语言编程,根据泰勒多项式编程计算sinx的近似值
sinx≈x/1-x3/3!+x5/5!-x7/7!+……(-1)n-1x2n-1/(2n-1)!
设x的值为0.3,直到最后一项数据的绝对值
//用sinx=x-x^3/3!+x^5/5!……+(-1)^(n-1)*(x^(2*n-1)/(2*n-1)!
#include
#include
double power(double x,int n)
{
if(n==0)
return 1;
return x*power(x,n-1);
}
long f(int n)
{
if(n==0)
return 1;
else
return n*f(n-1);
}
int main()
{
float x,t,sum=0;int i=2;
scanf("%f",&x);
t=x;
while(fabs(t)>1e-5)
{
sum+=t;t=-t;
t=(t/fabs(t))*power(x,2*i-1)/f(2*i-1);
i++;
}
printf("%f\n",sum);
return 0;
}