写程序,输入double数到变量x,int型数到变量n,使用for语句计算sin x的近似值,公式是x-x3/3!+ x5/5!+ …+ (-1)n+1x2n-1/(2n-1)!,这里x是弧度。
底下是我写的,在x的值还小的时候如3.14、6.28等时还是符合的,但是x一大就出问题了,这是什么原因?
#include "stdio.h"
void main()
{
double x,s=0,t;
int i;
scanf("%lf",&x);
t=x;
for(i=1;i<=100000;i++)
{
s+=t;
t=-t*x*x/((2*i)*(2*i+1));
}
printf("%f\n",s);
}