-5
我能够运行该程序,但它没有做它应该做的。它一直在问号码。 (用C语言编写)为什么程序不断要求输入C?
算法我试图遵循的是 -
第1步:猜的值设置为1
第2步:如果|猜测^ 2 - X | (ε=ε)
步骤3:将猜测值设置为(x/guess + guess)/ 2并返回到步骤2.
步骤4:猜测是平方根。
This is the output I am getting
#include <stdio.h>
float sqr_root(float n);
float absolute_value(float n) ;
int main(void)
{
float n ;
printf("Enter a positive number :");
scanf("%f" , &n);
printf("Square root of %f is %f \n" , n , sqr_root(n));
}
float absolute_value(float n)
{
if (n < 0)
{
n = -n ;
}
return (n) ;
}
float sqr_root(float n)
{
const float epsilon = 0.00001 ;
float guess = 1.0 ;
float value = absolute_value((guess * guess) - n) ;
while (value > epsilon)
{
guess = ((n/guess) + guess)/2 ;
}
return guess ;
}
向我们展示您所看到的。 –
'while(value> epsilon)'循环永远不会进入/结束,因为'value,epsilon'不会改变数值..也许重新计算'value = asolute_value((guess * guess) - n);'in循环? – chux
这是输出http://i.stack.imgur.com/d4CsI.png –