我正在尝试在C中创建一个程序,使用公式NG = 0.5(LG + N / LG)找到数字的近似平方根。到目前为止我有:
#include <stdio.h>
#include <math.h>
int main(){
double n;
double LG=1;
double NG;
printf("Enter number");
scanf_s("%lf",&n);
do{
NG=(.5*(LG+n/LG));
LG=NG;
}while((NG*NG-n)<.005);
printf("The root is %lf",NG);
}
这种结构在java中运行良好,但循环似乎没有在C中执行。
感谢您的任何建议。
答案 0 :(得分:3)
NG*NG-n
小于.005时,您不想循环播放。你希望在NG*NG
离n
远远超过期望时循环。
NG*NG
和n
之间的距离为fabs(NG*NG - n)
。