作业帮 > 综合 > 作业

用弦切法求f(x) =x^3 - 5x^2 + 16x - 80 的根,求证一下那里出问题了,输入-1 和8,结果是6.

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/06/14 16:04:31
用弦切法求f(x) =x^3 - 5x^2 + 16x - 80 的根,求证一下那里出问题了,输入-1 和8,结果是6.75.
#include
#include
float t(float x)
{
return (x*x*x - 5.0*x*x + 16*x - 80);
}
float t(float x1,float x2);
{
return ((x1 * f(x2) - x2 * f(x1)) / (f(x2) - f(x1)));
}
float xt(float x1,float x2)
{
float x;
x= t(x1,x2);
while (fabs(f(x)) > 0.000001)
{
if (f(x1) * f(x) > 0)
{
x1 = x;
}
else
{
x2 = x;
}
x = t(x1,x2);
}
return (x);
}
void main()
{
float x;
float x1;
float x2;
printf("Please input two N.o:\n");
while (f(x1) * f(x2) > 0)
{
scanf("%f%f",&x1,&x2);
}
x = xt(x1,x2);
printf("%f\n",x);
}
第三行是float f(float x1,float x2); 在此更正一下
用弦切法求f(x) =x^3 - 5x^2 + 16x - 80 的根,求证一下那里出问题了,输入-1 和8,结果是6.
你将第3行有效代码的t换成f试一下看.
即将
float t(float x)
换成
float f(float x)
再问: 不好意思,这是个笔误,
再答: 实质问题,恐怕在 float t(float x1, float x2); { return ((x1 * f(x2) - x2 * f(x1)) / (f(x2) - f(x1))); } 我们用Hi说话,好么?
再问: 好啊,怎么加你
再答: 啊 那qq你会用吧? 896373726