编写一个通过级数计算的sin(x)的函数,sinx=x/1-x^3/3!+x^5/5!.+(-1)^n-1 x^(2n-1)/(2n-1)!要求:最后一项绝对值小于0.00001为止,求阶乘时也必须用函数实现求解.下面是我写的 求高手帮改动,有一个错误 我
来源:学生作业帮助网 编辑:六六作业网 时间:2025/02/09 15:45:02
编写一个通过级数计算的sin(x)的函数,sinx=x/1-x^3/3!+x^5/5!.+(-1)^n-1 x^(2n-1)/(2n-1)!要求:最后一项绝对值小于0.00001为止,求阶乘时也必须用函数实现求解.下面是我写的 求高手帮改动,有一个错误 我
编写一个通过级数计算的sin(x)的函数,sinx=x/1-x^3/3!+x^5/5!.+(-1)^n-1 x^(2n-1)/(2n-1)!
要求:最后一项绝对值小于0.00001为止,求阶乘时也必须用函数实现求解.
下面是我写的 求高手帮改动,有一个错误 我找不出来 运行不成功.
#include
#include
using namespace std;
int fuc(int m);
int main()
{double x,term,sum;
int n=1;
cout<<"input x:";
cin>>x;
term=x;
sum=x;
do
{n+=1;
term=pow(-1,n+1)*pow(x,2n-1)/fuc(2n-1);
sum+=term;
}
while(fabs(term)>=1e-5);
cout<<"sin(x)="<
}
int fuc(int m)
{int t,p;
for(t=1,p=1;t<=m;t++)
p*=t;
return p;
}
编写一个通过级数计算的sin(x)的函数,sinx=x/1-x^3/3!+x^5/5!.+(-1)^n-1 x^(2n-1)/(2n-1)!要求:最后一项绝对值小于0.00001为止,求阶乘时也必须用函数实现求解.下面是我写的 求高手帮改动,有一个错误 我
没法运行 不过while(fabs(term)>=1e-5)不好比较吧 你两边乘以10000再比较试试
#include
#include
using namespace std;
double fuc(int m); //修改类型,否则x超过2就跑不了,试过没有问题了
int main()
{double x,term,sum;
int n=1;
cout<<"input x:";
cin>>x;
全部展开
#include
#include
using namespace std;
double fuc(int m); //修改类型,否则x超过2就跑不了,试过没有问题了
int main()
{double x,term,sum;
int n=1;
cout<<"input x:";
cin>>x;
term=x;
sum=x;
do
{n+=1;
term=pow((float)-1,(float)(n+1))*pow((float)x,(float)(2*n-1))/fuc(2*n-1);
sum+=term;
}
while(fabs(term)>=1e-5);
cout<<"sin(x)="<
}
double fuc(int m)
{
double t,p;
for(t=1,p=1;t<=m;t++)
p*=t;
return p;
}
收起