求大佬看看
#include <stdio.h>int sqrt (int a);
void main(void)
{
int a=49,b;
b=sqrt(a);
printf("%d\n",b);
}
int sqrt(int a)
int z=a/2;
while(z--)
{
if(z*z==a)
return z;
}
return -1;
}
不能运行,我检查不出来错误 自定义函数 sqrt() 采用牛顿迭代法
#include <stdio.h>
#define abs(n) ((n) > 0 ? (n) : -(n))
double sqrt(double a)
{
double b = a ;
while(abs(a - b * b) > 1e-15) b = (b + a / b) / 2.0 ;
return b ;
}
int main(void)
{
int a = 49 ;
printf("%.0f\n" , sqrt(a)) ;
}
页:
[1]