糟糕的输出泰勒系列sinx

时间:2013-02-03 15:19:27

标签: math output taylor-series

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

1 个答案:

答案 0 :(得分:0)

我可以看到一个问题:

scanf("%f",&x);

x是双倍的,因此您需要l,即"%lf"

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