满意答案
wensin21
2013.04.22
采纳率:45% 等级:11
已帮助:7154人
是泰勒级数吧。 sinx: #include #include//fabs() int main() { double x,s,a;//为了提高精度,我把它们定义成双精度的。 int i; scanf("%lf",&x);//注意x为弧度,输入的值过大没意义只要在-2*∏~2*∏即可。因为C语言的运算精确度有限。例如输入1.7,输出0.99166465 a=x; s=a; for(i=1;;i+=2) { a*=x*x*(-1)/((i+1)*(i+2)); if(fabs(a)<1e-7) break; s+=a; } printf("%.8f\n",s); return 0; } //用泰勒展开式求sinx http://z.baidu.com/question/146522670.html cosx: #include #include/*fabs()*/ void main() { double x,c,a; int i; scanf("%lf",&x); a=1; c=a; for(i=1;;i+=2) { a*=x*x*(-1)/(i*(i+1));/*相邻两项的比值*/ if(fabs(a)<1e-7) break; c+=a; } printf("cos(%g)=%.8f\n",x,c); } //注意x为弧度 http://z.baidu.com/question/147417501.html 还有啥要求HI我。
22分享举报