我试图使用泰勒级数和斯特林对阶乘的逼近来近似C的正弦(x),但对于n 5),我都得到了非常奇怪的答案。我从昨天开始才刚开始学习,所以如果有一些经验丰富的程序员可以看一下并告诉我怎么了,我将不胜感激

正弦泰勒级数



斯特林阶乘的近似



#include <stdio.h>
#include <math.h>

int main(){

float x,n,s,i,e,p,f,r;
f=M_PI;
e=2.7182818;
s=0;

printf("What value of sine do you want to apporximate?");
    scanf("%f", &x);
printf("With what level of precision do you want to calculate it?");
    scanf("%f", &n);
for(i=0;i<=n; ++i);{
    r=((2*i)+1);
    p=(sqrt(2*r*f)*(pow((r/e),r)));
    s=s+(((pow((-1),i))*(pow(x,((2*i)+1))))/p);
}
printf("the value of sine at %f is %f",x,s);
}

最佳答案

这条线

    for(i = 0; i <= n; ++i);{


有一个多余的分号。您正在执行一个空循环。

关于c - 用C中的泰勒级数逼近Sine(x)并且有很多问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42217069/

10-10 18:28