我试图编写一个计算f(x) = x^2 -2根的程序,但它似乎不改变x、fa和fb的值。
int x2(float a, float b)
{
float tmp = (a + b) / 2;
return tmp;
}
int func(float a)
{
float tmp = (a * a) - 2;
return tmp;
}
int main()
{
float a = 1, b = 2;
float fa = func(a), fb = func(b);
float y = 0, x=0;
while (fa < 0 && fb > 0)
{
y = x2(a,b);
x = func(y);
if (x < 0) { a = x2(a, b); b = b; }
if (x > 0) { a = a; b = x2(a, b); }
if (x == 0) { cout << "Zero-Point: " << x << endl; break; }
fa = func(a), fb = func(b);
}
}发布于 2022-05-28 14:36:33
所有函数都返回int,但是func和x2应该返回float。否则,您将以x2返回x2(1, 2)上的1,从而永久返回a = y = 1结束。
https://stackoverflow.com/questions/72325645
复制相似问题