C语言 利用泰勒公式计算sinx(误差在0.00001内,可以更改误差)
通过泰勒公式计算sinx的值(误差在0.00001以内)
#include<stdio.h>
#include<math.h>
main()
{
/y是输入的参数,a等于最后一项的绝对值,sinx是最后结果,
m在循环外等于1,进入for循环后等于a,用来判断for循环条件。/
double y,x,sinx,a,m=1;
scanf("%lf",&y);
x=(y>0)?y:(-1y); //用来计算y<0时的情况
a=x;
int s=1,i=-1;
sinx=x;
for(int n=3;m>=0.00001;n=n+2)
{
a=(axx)/(n(n-1));
m=a;
sinx=sinx+ia;
i=-1i;
s++;
}
sinx=(y>0)?sinx:(-1*sinx); //用来计算y<0时的情况
s=(y==0)?0:s; //用来计算y=0时的情况
printf(“项数:%d\n”,s);
printf("%lf\n",sinx);
}
可以将for循环内的条件更改来改变精确度