我写一个程序,来自用户的值x和整数n增加时,该程序然后打印反正弦(x)的使用泰勒系列为ARCSIN http://tedmuller.us/Math/img/Taylor-arcsin.gif泰勒级数为反正弦(x)时,不正确的输出C语言
但由于某种原因,它不工作。当我输入x = 1时,我得到1.19的输出而不是pi/2。
这里是我的代码:
#include <stdio.h>
#include <conio.h>
void main()
{
int i,n;
double x,sum,last;
printf("Please enter the x you wish to calculate arcsin(x) for \n");
scanf("%lf",&x);
printf("Enter n\n");
scanf("%d",&n);
last=x;
sum=last;
for(i=1;i<=n;i++)
{
last*=((x*x)*(2*i-1))/((2*i)*(2*i+1));
sum+=last;
}
printf("arcsin(%lf) = %lf",x,sum);
getch();
}
基本思路是这样的:最后,总结双方开始与x的值。然后我提前最后成为系列中的下一个数字,将它加上总和,再次提前,再加上...冲洗并重复n次。
你有什么价值为'n'而努力?一般来说,这个系列会有多快?你是否打印了条款('最后'值)?为什么不? –
我输入了相当大的n,10的值。所以答案应该非常准确,即使我输入100的n,答案也不会有太大差异。 –
印刷最后的价值没有实际意义,因为任何给定点的最后价值只是答案的一部分,而不是答案本身 –