弦截法求方乘的根

txn897425998 2012-05-10 09:08:00

用弦截法求x^3-5x^2+16x-80=0的根
我的递归有局限性 为什么 求 解释? 大家也可贴上自已的代吗 谢谢!
# include <stdio.h>
# include <math.h>
SCANF(float *x1,float *x2)
{
printf("please input X1 X2:\n");
scanf("%f%f",x1,x2);
if(*x1**x2<0)return;
SCANF(x1,x2);
}
float f(float x)
{
float y;
y=((x-5.0)*x+16.0)*x-80.0;
return y;
}
float xpoint(float x1,float x2)
{
float y;
y=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1)); //公式
return y;
}
float root(float x1,float x2) //此递归必需输入两个相反数才行why
{
float y1,y,x;
y1=f(x1);
x=xpoint(x1,x2); //求弦与x轴的交点
y=f(x);
if(y*y1>0)
{
x1=x;
y1=y;
}
else x2=x;
if(fabs(y)<0.0001)return x;
root(x1,y1);
}
void main()
{
float x1,x2,x;
SCANF(&x1,&x2);
x=root(x1,x2);
printf("%f",x);
getch();
}
...全文
125 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧