C语言化简根号(非sqrt)

简单,快速,稳定

成品下载:化简App下载 ​​​​​

源代码:​​​​​​​

//base on zm

#include

int main()

{

    double a,b,c,d,f,max=0,max1=0;

    int m=0,n=1,n1,m1;

    printf("这是一个开根号的程序\n请输入一个数:\n");

    //输入内容

    scanf("%lf",&a);

    n=a;

    //用于减少循环,优化

    for(n1=1;m1<=a;n1++)

    m1=n1*n1;

    //解根号前的最大系数

    for(f=2,c=0,d=1;f<=m1;f++)

    {

        b=a/(f*f);

        m=(int)b;

        //核心代码

        if(b-m<=0.000000001&&f>c)

        {

            c=f;

            d=b;

        }

    }

    //输出结果

    if(c>0&&d>1)

    {

        printf("%d开根号是:%.0lf√%.0lf\n",n,c,d);

    }

    else

    {

        if(d==1&&c>0)

        printf("%d开根号是:%.0lf\n",n,c);

        else

        printf("%d开根号是:√%.0lf\n",n,a);

    }

}

C语言化简根号(非sqrt)_第1张图片

你可能感兴趣的:(c语言,开发语言)