第1个回答 2007-04-22
#include <stdio.h>
#include <math.h>
double diedai(double x,double a);
double sqrt(double a);
double sqrt(double a)
{
double x;
x=a/2;
return(diedai(x,a));
}
double diedai(double x,double a)
{
double y;
y=(x+a/x)/2; /*迭代公式*/
if((fabs(x-y))>10e-6) /*在不符合条件时进入迭代*/
{
y=diedai(y,a);
}
return(y);
}
void main(void)
{
double a,x;
printf("Input a:\n"); /*输入要求平方根的数*/
scanf("%lf",&a);
x=sqrt(a);
printf("Result %lf:\n",x);/*显示结果*/
}