C++练习题,求助

来源:百度知道 编辑:UC知道 时间:2024/07/02 05:31:26
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main()
{
double x,sum=1.0;
cout<<"Enter x value: ";
cin>>x;
double a=(-1);
for(int n=1;abs(a)>1e-8;n++)
{
a*=(-1)*x/(n*1.0);
sum+=a;
}
cout<<a*(-1)*x/(n+1)<<" "<<n<<endl;
cout<<"sum:"<<setiosflags(ios::fixed)<<setprecision(8)<<sum<<endl;
return 0;
}

循环体好象有问题,运行结果总是不对
问题是求x的级数
1+x-x^2/2!+x^3/3!-....+(-1)^(n+1)*x^n/n!

二楼的运行结果还是不对啊
我怎么理解二楼的 a*=(-1) * pow(x,n) / fun(n);

#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main()
{
double x,sum=1.0;
cout<<"Enter x value: ";
cin>>x;
double a=(-1);
for(int n=1;fabs(a)>1e-8;n++)
{
a*=(-1)*x/(n*1.0);
cout<<a<<endl;
sum+=a;
}
cout<<a*(-1)*x/(n+1)<<" "<<n<<endl;
cout<<"sum:"<<setiosflags(ios::fixed)<<setprecision(8)<<sum<<endl;
return 0;
}

#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;

int fun(int n)
{
if(n <= 1)
{
return 1;
}
else
{
return n* fun(n-1);
}
}

int main()
{
double x,sum=1.0;
cout<<"Enter x value: ";
cin>>x;
double a=(-1);