C++问题:迭代法求x=a^(1/3),为什么调用函数pow(a,1/3)结果都是1?如下为什么错?
#include"iostream"#include"math.h"usingnamespacestd;voidmain(){doublea,x1,x0,x2;cin>>...
#include"iostream"
#include"math.h"
using namespace std;
void main()
{
double a,x1,x0,x2;
cin>>a;
x1=a;
x2=pow(a,1/3.0);
do
{
x0=x1;
x1=2*x0/3+a/(3*x0*x0);
}while(fabs(x1-x0)>=1.0e-5);
cout<<"x1="<<x1<<endl;
cout<<"x2="<<x2<<endl;
system("pause");
} 展开
#include"math.h"
using namespace std;
void main()
{
double a,x1,x0,x2;
cin>>a;
x1=a;
x2=pow(a,1/3.0);
do
{
x0=x1;
x1=2*x0/3+a/(3*x0*x0);
}while(fabs(x1-x0)>=1.0e-5);
cout<<"x1="<<x1<<endl;
cout<<"x2="<<x2<<endl;
system("pause");
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询