问题描述
- C语言不使用系统库函数,使用循环实现求任意正数的开平方
-
C语言不使用系统库函数,使用循环实现求任意正数的开平方,怎么写???
解决方案
float foo(float n)
{
float f1=0.0, f2=n, fm=(f1+f2)/2.0,differ=1.0;
while (differ > 0.0001)
{
if (fm*fm>n) {
f2=fm;
differ=fm*fm-n;
}
else {
f1=fm;
differ=n-fm*fm;
}
fm=(f1+f2)/2.0;
}
return fm;
}
int main()
{
float x = 2.0;
printf("%f", foo(x));
}
1.41426
解决方案二:
http://codepad.org/03ZdGSRe
时间: 2024-11-05 19:42:40