我正在尝试编写一个程序,它从用户获取值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();
}
答案 0 :(得分:0)
我可以看到一个问题:
scanf("%f",&x);
x
是双倍的,因此您需要l
,即"%lf"
。
[关于这不是sinh
的正确公式的真实但无关紧要的一点,即使问题中没有提到sinh
,但是已经编辑了。]