键盘输入一个实数a,输出它的立方根。请自行设计算法编写程序,不允许调用pow函数。
假设a的立方根为x,则x3=a,问题转化求一元高次方程x3-a=0的解。
#include
int main()
{
double a;
double l,r,m;
re:scanf("%lf",&a);
r=a;
m=a/2;
l=0;
while(r-l>=0.000001)
{
if(m*m*m-a-0.000001)
goto loop;
else
{
if(m*m*m<a)
{
l=m;
}
else
{
r=m;
}
}
m=(r+l)/2;
}
loop:printf("%.7lf\n",m);
goto re;
return 0;
}
int i = 1;
int a = 8;
int pow(int a){
for(i = 1;i < 8;i++){
if(i*i*i == a){
return i;
}
}
}