在下面的代码中,我想将终止条件替换为:如果猜测平方与x的比率接近1,则while循环应该终止。我尝试了各种表达式,但没有一个能够正确运行代码。有什么建议吗?
# include<stdio.h>
float absolute(float x)
{
if (x < 0)
x = -x;
return x;
}
float square(float x)
{
float guess = 1;
while(absolute(guess*guess - x) >= 0.0001 )
guess = ((x/guess) + guess) / 2;
return guess;
}
int main(void)
{
printf("square root of 2 is %f\n", square(2));
printf("square root of 3 is %f\n", square(3));
return 0;
}
找到答案: while 语句应该是这样的:
while ( absoluteValue((guess * guess) / x - 1.0) >= 0.0001 )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)