【问题标题】:Bad output taylor series sinx坏输出泰勒级数 sinx
【发布时间】:2013-01-18 09:33:39
【问题描述】:

我正在尝试编写一个程序,该程序从用户那里获取值 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();
}

【问题讨论】:

    标签: math output taylor-series


    【解决方案1】:

    我可以看到一个问题:

    scanf("%f",&x);
    

    x 是双精度,所以你需要l,即"%lf"

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

    【讨论】:

    • 问题是关于 sin(x),而不是 sinh(x),它们确实会改变符号。但谢谢你现在的工作:)
    猜你喜欢
    • 2014-04-03
    • 1970-01-01
    • 2017-08-21
    • 2011-11-04
    • 2017-12-02
    • 2014-02-23
    • 1970-01-01
    • 1970-01-01
    • 2016-01-24
    相关资源
    最近更新 更多