C语言编程题sin(x)泰勒展开式精度为(1e-6)我想知道我哪里写错了。

发布时间:2019-07-29 16:11:56

#include<stdio.h>

#include<math.h>

int main ()

{

    float  temp,x,sumq;

    int n;

    scanf("%f",&x);

    temp=x;

   sumq=x;

    for(n=1; fabs(temp)>=1e-6; n++)

      {

        temp =temp*((-1)*pow(x,2)/((2*n+1)*(2*n)));

        sumq+=temp;

    }

    printf ("%f\n",sumq);

    return 0;

}

我这个结果,输入x=2的时候0.909297,输入3.14时,0.001593;总是最后一位错了,我觉得逻辑没问题,但是将程序中精度改为1e-4就满足题目的要求

推荐回答

还没有选出推荐答案,请稍候访问或查看其他回答!

其他回答

感觉应该是temp的地方错了,因为没有设置一个中间变量,满意请采纳

以上问题属网友观点,不代表本站立场,仅供参考!