求解a的平方根SQRT(a)的值(返回指针值的函数) 这两个空

img

//第一个空
dx = xn - x;
x = xn;
//第二个空:
double xn = (x +a/x)/2;

完整代码如下:

#include <stdio.h>
#define ESP 1e-9
#include <math.h>

int main()
{
    double *sqrfun(double x,double a);
    double a,x,xn,dx;
    scanf("%lf",&a);
    x = a/2;
    dx = x;
    while(fabs(dx) > ESP)
    {
        xn = *sqrfun(x,a);
        dx = xn -x;
        x = xn;
    }
    printf("Result of self-made functions:sqrt(%lf)=%lf\n",a,xn);
    printf("Result of standard functions:sqrt(%lf)=%lf\n",a,sqrt(a));
    return 0;
}

double *sqrfun(double x,double a)
{
    double xn = (x + a/x)/2;
    return &xn;
}

运行结果:

img