C语言利用泰勒公式,计算sin(x)!急
问题描述:
C语言利用泰勒公式,计算sin(x)!急
利用泰勒级数:
sin(x)=x-(x3/3!)+(x5/5!)-(x7/7!)+(x9/9!)-...
计算sin(x)的值,要求最后一项的绝对值小于10-5,并统计出此时累加了多少项.
我自己编的如下(知道更简洁的方法了,但是不知道这个为什么错):
#include
void main()
{
\x09float x;
\x09double k,s;
\x09int y,n,m,z=1,h=1;
\x09printf("input x:");
\x09scanf("%f",&x);
\x09
\x09s=x;
\x09k=x*x*x;
\x09
\x09for(m=2,y=3;;k=k*x*x,y+=2,m++)
\x09{
\x09\x09for(n=1;n
答
第十八行改为:\x09\x09
18:for(n = 1,h = 1;n 对!这是一个问题,先谢过。不过我照这样改了之后,还是有问题,输入3,正确应是0.4几,我的输出确实-0.3几,愁死了经过调试,找出错误了。原因主要是h溢出了。在计算次数大于9以后,h大于了int最大值。把h改为double类型的。