看一下我这个c程序,为什么运行不正确?

来源:百度知道 编辑:UC知道 时间:2024/05/25 13:51:43
题目是“用牛顿法求x^3+2x^2+10x-20=0的根”,我知道跟约1.3多,程序如下:#include<stdio.h>
void main()
{
double x0,xk;
xk=1;
do
{
x0=xk;
xk=x0-((x0*x0*x0+2*x0*x0+10*x0-20)/(3*x0*x0+4*x0+10));
}
while(xk=x0>0.5e-3);
printf("root is %f",xk);
}
但是运行时在cmd界面下除了一个箭头,什么也没有,我通过单步执行调试,发现步行到while就不往下走了,我检查了我的程序,没错误呀!这是怎么回事,我在turbo c++ 3.0与visual c++ 2005下都是这样,求教!

#include<stdio.h>
#include<math.h>
void main()
{
double x0,xk;
xk=1;
do
{
x0=xk;
xk=x0-((x0*x0*x0+2*x0*x0+10*x0-20)/(3*x0*x0+4*x0+10));
}
while(fabs(xk-x0)>0.5e-3);
printf("root is %f",xk);
}

#include<stdio.h>
void main()
{
double x0,xk;
xk=1;
do
{
x0=xk;
xk=x0-((x0*x0*x0+2*x0*x0+10*x0-20)/(3*x0*x0+4*x0+10));
}
while((xk-x0)<0.5e-3);
printf("root is %f",xk);
}

一个小错误