24小时热门版块排行榜    

查看: 568  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 看来今天不会放榜了? +5 chengyan1220 2026-08-21 5/250 2026-08-21 12:34 by gltch
[基金申请] 我面上完蛋了 +7 且听虎啸 2026-08-20 8/400 2026-08-21 12:31 by 酷酷墨镜
[基金申请] 什么时候开奖? +7 CrisMessi 2026-08-18 7/350 2026-08-21 12:15 by weiyin
[基金申请] 时间戳又变了8-15 +15 archvillain 2026-08-15 27/1350 2026-08-21 11:32 by tim76
[基金申请] 今天基金会出结果吗?20260819 +15 kkkl_v 2026-08-19 16/800 2026-08-21 11:22 by 365372687
[基金申请] 科研孤儿太难了 +15 我4大白菜 2026-08-20 16/800 2026-08-21 11:07 by yming1319
[基金申请] 今天放榜没戏了吧 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
[基金申请] 让我中一个面上吧! +10 大萍1987 2026-08-20 12/600 2026-08-21 09:31 by 020100099
[基金申请] 放榜前的不淡定 40+4 snowwithsea 2026-08-19 13/650 2026-08-21 08:30 by 北京莱茵编辑
[基金申请] 估计是周四 +3 archvillain 2026-08-18 3/150 2026-08-21 01:48 by jnhyjjm
[基金申请] 今日不放榜?网传国自然预计 8 月 27 日可查结果 +15 医学老男孩 2026-08-20 17/850 2026-08-20 20:35 by CaoLG
[基金申请] 时间戳变了,能看出什么问题? +18 基诺咪客 2026-08-17 23/1150 2026-08-20 17:19 by Godzela
[基金申请] 重要消息,中午系统在维护 +11 yuleib84 2026-08-18 12/600 2026-08-20 11:09 by xskun
[教师之家] 为什么余额宝的年化利率越来越低?主要原因有哪些? +5 瞬息宇宙 2026-08-15 5/250 2026-08-19 20:23 by super2002521
[基金申请] 朋友圈看到的 +6 wangzilk 2026-08-18 8/400 2026-08-19 10:55 by Haru815
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +6 Tide man 2026-08-14 7/350 2026-08-19 09:56 by ZJTJZ
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
[基金申请] 感觉是下周放榜了 +6 angus9576 2026-08-17 11/550 2026-08-17 23:57 by angus9576
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
信息提示
请填处理意见