C语言不使用系统库函数,使用循环实现求任意正数的开平方

C语言不使用系统库函数,使用循环实现求任意正数的开平方,怎么写???

c

2个回答

 float foo(float n)
{
    float f1=0.0, f2=n, fm=(f1+f2)/2.0,differ=1.0;
    while (differ > 0.0001)
    {
        if (fm*fm>n) {
            f2=fm;
            differ=fm*fm-n;
        }
        else {
            f1=fm;
            differ=n-fm*fm;
        }
        fm=(f1+f2)/2.0;
    }
    return fm;
}

int main()
{
    float x = 2.0;
    printf("%f", foo(x));
}

1.41426

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问