C中的平方根程序,不使用sqrt函数

时间:2014-02-18 15:28:11

标签: c while-loop square-root

我正在尝试在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中执行。

感谢您的任何建议。

1 个答案:

答案 0 :(得分:3)

NG*NG-n小于.005时,您不想循环播放。你希望在NG*NGn远远超过期望时循环。

NG*NGn之间的距离为fabs(NG*NG - n)