c++数级问题

来源:百度知道 编辑:UC知道 时间:2024/05/05 06:19:12
对运行中输入的X,计算级数:
1+x-x2/2!+x3/3!-...(-1)n+1 xn/n!
要求输出精度为10-8.分别用for和while语句各写一个程序!

(上面的如x2表示的是x的二次方,x3表示的x的三次方,xn表示x的n次方
精度10-8表示10的负8次方,(-1)n+1表示-1的n+1次方!)
在线等答案!

#include<iostream>
#include<cmath>
#include<iomanip>
using namespace std;
int Jc(int);
void main()
{
cout<<"Enter a number: ";
int x;
double s=0.0;
cin>>x;
for (int i=0;;i++)
{
s+=pow(-1,(i+1))*pow(x,i)/Jc(i);
if(s<pow(10,-8))
break;
}
cout<<setprecision(8)<<fixed<<s<<endl;
}
int Jc(int a)
{
int d=1;
for(int j=1;j<=a;j++)
{
d*=j;
}
return d;
}