猿问

用泰勒公式求sin的值,为什么结果是nan?求教,谢谢..

#include <iostream>
#include <cmath>
using namespace std;
int main (void){
    double b=0,c=0;
    double j=1.0,a;
    int p=1,n=1;
    cin>>a;
    do
    {
        n+=2;
        j=j*(n-1)*(n);
        c=pow(a,n)/j;
        b+=p*c;
        p*=-1;
    }while(fabs(b)>=0.000001);
    cout<<b<<endl;
    return 0;
}

FOSS
浏览 1624回答 1
1回答

asd8532

 do//运行一遍     {         n+=2;//n=3         j=j*(n-1)*(n);//j=1*2*3         c=pow(a,n)/j;//a*a*a/1*2*3         b+=p*c;//b=1*c就是泰勒的第二项了x^3/3!,而且本来是负的,变成了正的x^3/3!         p*=-1;     }while(fabs(b)>=0.000001);
随时随地看视频慕课网APP
我要回答