24小时热门版块排行榜    

查看: 516  |  回复: 2

路过081001

铜虫 (正式写手)

[求助] 求高手,,C语言弦截法方程的根,我同谭浩强的视频程序几乎没有差别,为什么求不出呢

#include
#include

float f(float x)
{
        return ((x-5)*x+16)*x-80;
}

float xpoint(float x1,float x2)
{
return (x1*f(x2)-x2*f(x1))/(f(x2)-f(x1));

}


float root(float x1,float x2)
{  
  float x,y,y1,y2;
  y1=f(x1);y2=f(x2);
  do
  {
   x=xpoint(x1,x2);
   y=f(x);
   if(y*y1>0) {y1=y;x1=x;}
   else {x2=x;y2=y;}
  } while (fabs(y)>0.00001);
  return x;
}


void main()
{
float x,x1,x2,y1,y2;

  do
  { printf("input x1,x2:";
    scanf("%f,%f",&x1,&x2);
    y1=f(x1);
        y2=f(x2);
  } while(y1*y2>0);

x=root(x1,x2);

printf("A root is %f\n",x);

}
回复此楼

» 猜你喜欢

不要光上人人QQ,不然好没出息。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wpwupingwp

木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
南无观世音菩萨
2楼2012-11-18 17:29:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chunyuan314

银虫 (正式写手)

LZ,问题出在root函数 do-while循环部分。
按弦截法,root函数可以这样:
float root(float x1,float x2)
{  
  float x,y,y1,y2;
  y1=f(x1);y2=f(x2);
   x=xpoint(x1,x2);
   y=f(x);
   if(fabs(y)<0.00001){ /* 如果精度达到,Okay */
       return x;
   }else if(y*y1>0){  /*即如果新的y与y1同号,则改为在x~x2之间用弦截法*/
       return root(x,x2);
   }else{
       return root(x1,x);  /*否则就在在x1~x之间用弦截法*/
   }
}

运行root(-10,10)可得到5

函数图形.png

Lifeisgood
3楼2013-01-29 20:09:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 路过081001 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 各位老师您好:本人初试372分 +4 jj涌77 2026-03-25 4/200 2026-03-25 11:17 by shulmg
[考研] 总分293求调剂 +3 加一一九 2026-03-25 3/150 2026-03-25 10:49 by JourneyLucky
[考研] 考研化学308分求调剂 +10 你好明天你好 2026-03-23 11/550 2026-03-25 10:23 by userper
[考研] 一志愿吉林大学材料与化工303分求调剂 +3 为学666 2026-03-24 3/150 2026-03-25 09:03 by baoball
[考研] 085601求调剂总分293英一数二 +3 钢铁大炮 2026-03-24 3/150 2026-03-24 22:03 by bingxueer79
[考研] 08工学调剂 +12 用户573181 2026-03-20 17/850 2026-03-24 21:45 by 番茄炖了西红柿
[考研] 一志愿北化315 求调剂 +3 akrrain 2026-03-24 3/150 2026-03-24 19:35 by 了了了了。。
[考研] 080500求调剂 +3 zzzzfan 2026-03-24 3/150 2026-03-24 16:38 by barlinike
[材料工程] 一志愿C9材料与化工专业总分300求调剂 +4 曼111 2026-03-24 5/250 2026-03-24 15:44 by 星空星月
[考研] 341求调剂(一志愿湖南大学070300) +5 番茄头--- 2026-03-22 6/300 2026-03-23 23:45 by Txy@872106
[考研] 291求调剂 +8 hhhhxn.. 2026-03-23 8/400 2026-03-23 23:15 by peike
[考研] 材料与化工085600,总分304,本科有两篇sci参与,求调剂 +4 幸运的酱酱 2026-03-22 5/250 2026-03-22 20:15 by edmund7
[考研] 260求调剂 +3 朱芷琳 2026-03-20 4/200 2026-03-22 15:12 by 朱芷琳
[考研] 求调剂 +7 Auroracx 2026-03-22 7/350 2026-03-22 12:38 by 素颜倾城1988
[考研] 考研调剂 +3 呼呼?~+123456 2026-03-21 3/150 2026-03-21 20:04 by 无际的草原
[考研] 求助 +5 梦里的无言 2026-03-21 6/300 2026-03-21 17:51 by 学员8dgXkO
[考研] 085601调剂 358分 +3 zzzzggh 2026-03-20 4/200 2026-03-21 10:21 by luoyongfeng
[考研] 296求调剂 +6 www_q 2026-03-18 10/500 2026-03-20 23:56 by JourneyLucky
[考研] 一志愿西安交通大学 学硕 354求调剂211或者双一流 +3 我想要读研究生 2026-03-20 3/150 2026-03-20 20:13 by JourneyLucky
[考研] 本科郑州大学物理学院,一志愿华科070200学硕,346求调剂 +4 我不是一根葱 2026-03-18 4/200 2026-03-19 09:11 by 浮云166
信息提示
请填处理意见