0

我正在尝试编写一个程序,该程序从用户那里获取值 x 并使用泰勒级数打印 sinx。但我的输出很糟糕。我得到的输出甚至不是一个数字,它的 -1.#IND00 无论我输入什么。

这是我的代码

#include <stdio.h>
#include <conio.h>
void main()
{
    int i;
    double x,sum,last;
    sum=(double)0;
    scanf("%f",&x);
    last=x;
    sum=last;
    for(i=1;i<10;i++)
    {
        last*=(double)(-x*x)/((2*i)*(2*i+1));
        sum+=last;
    }
    printf("%f",sum);
    getch();
}
4

1 回答 1

0

我可以看到一个问题:

scanf("%f",&x);

x是双倍的,所以你需要l, 即"%lf".

[关于这不是正确公式的真实但无关紧要的一点sinh,即使sinh问题中没有提到,已编辑..]

于 2013-02-03T15:32:59.120 回答