gpt4 book ai didi

c - 为什么程序一直要求输入 C 语言?

转载 作者:行者123 更新时间:2023-11-30 21:37:07 31 4
gpt4 key购买 nike

我能够运行该程序,但它没有执行预期的操作。它不断询问号码。 (用C语言编写)

我试图遵循的算法是 -
第1步:将guess的值设置为1。
步骤2:如果 |猜^2 - x| < ε,继续步骤 4。(ε= epsilon)
步骤3:将guess的值设为(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 ) ; 以使用更正的拼写进行循环。

while (value > epsilon )
{
guess = (( n / guess) + guess ) / 2 ;
value = absolute_value((guess * guess ) - n ) ;
}

关于c - 为什么程序一直要求输入 C 语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37735435/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com