//第一个空
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;
}
运行结果: