主题:帮看下求SIN函数的程序
这是用泰勒公式求sin函数 不知道算法错在哪里 请大虾帮忙指教指教 谢谢了
#include <iostream>
#include <cmath>
using namespace std;
double sinx(double);
double fac(int);
int main()
{
double x;
cout<<"please input x:";
cin>>x;
cout<<"sin"<<x<<"="<<sinx(x)<<endl;
return 0;
}
double fac(int n)
{ double p;
if(n<0)
{cout<<"n<0,data error!"<<endl;
p=-1;
}
else if(n==0||n==1) p=1;
else p=fac(n-1)*n;
return p;
}
double sinx(double x)
{ double sum=x,d=0.0,a=1.0;
do
{ sum+=d;
a=a+2.0;
d=pow(x,a)/fac(a);
d=-d;
}while(fabs(d)>1e-7);
return sum;
}
#include <iostream>
#include <cmath>
using namespace std;
double sinx(double);
double fac(int);
int main()
{
double x;
cout<<"please input x:";
cin>>x;
cout<<"sin"<<x<<"="<<sinx(x)<<endl;
return 0;
}
double fac(int n)
{ double p;
if(n<0)
{cout<<"n<0,data error!"<<endl;
p=-1;
}
else if(n==0||n==1) p=1;
else p=fac(n-1)*n;
return p;
}
double sinx(double x)
{ double sum=x,d=0.0,a=1.0;
do
{ sum+=d;
a=a+2.0;
d=pow(x,a)/fac(a);
d=-d;
}while(fabs(d)>1e-7);
return sum;
}