初学C语言,求教一个问题
题目:编写程序,从键盘输入x,利用幂级数展开计算sinx近似值,要求误差小于10^(-6)sinx=x-x^3/3!+x^5/5!-x^7/7!+…+问题:当输入一个较小的数基本正确,为什么当我输入一个较大的数如55.01,答案就明显不对
我的代码是:
程序代码:#include<stdio.h>
#include<math.h>
void main()
{
float x,sinx,i,t;
printf("请输入弧度值x:");
scanf("%f",&x);
sinx=0;
t=x;
i=1;
while(fabs(t)>=1e-6)
{
sinx+=t;
t=t*(-x*x/(2*i*(2*i+1)));
i++;
}
printf("sin(%.2f)=%f\n",x,sinx);
}




