初学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); }