24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 819  |  回复: 6

1036985870

金虫 (小有名气)

[求助] 采用二分法求解方程的根 已有1人参与

各位大神,大家好!本人初学C,正确结果是1.32472,计算方程求不出来正确结果,但是没有发现哪里有问题,请各位指点指点,谢谢!
#include<stdio.h>
#include<stdlib.h>
#include<Windows.h>
#include<math.h>
       
//采用二分法求解方程分f(x)=x^3-x-1=0在区间[1.0,1.5]的根,精度1.0e-4
void main()
{
        double left=1.0,right=1.5;
        double f1,f2,f,middle;
        while(abs(right-left)>1.0e-4)
        {
                f1=pow(left,3)-left-1;
                f2=pow(right,3)-right-1;
                middle=(left+right)/2;
                f=pow(middle,3)-middle-1;
                //当满足精度要求,打印方程的根并退出
                if(abs(f)<=1.0e-4)
                {
                        printf("find a root in [1.0,1.5],value=%f\n",middle);
                        break;
                }
                else
                {
                        //判断根的区间
                         if(f1*f<0)
                            {
                         right=middle;
                             }
                            else
                            {
                         left=middle;
                            }
                }
          
        }

        system("pause";
}
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

卤蛋你干嘛

新虫 (初入文坛)

2楼2016-02-21 10:33:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1036985870

金虫 (小有名气)

引用回帖:
2楼: Originally posted by 卤蛋你干嘛 at 2016-02-21 10:33:20
不知道

感谢帮忙顶! 提醒的问题是这个语句if(abs(f)<=1.0e-4)
'function' : conversion from 'double' to 'int', possible loss of data
为什么会提示这个呢?我没有进行类型转换啊!
3楼2016-02-21 16:56:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

baghnac

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
1036985870: 金币+10, ★★★★★最佳答案, 明白了,谢谢! 2016-02-22 19:18:55
引用回帖:
3楼: Originally posted by 1036985870 at 2016-02-21 16:56:50
感谢帮忙顶! 提醒的问题是这个语句if(abs(f)<=1.0e-4)
'function' : conversion from 'double' to 'int', possible loss of data
为什么会提示这个呢?我没有进行类型转换啊!...

CODE:
Name: abs Prototype: int abs (int number) 描述: These functions return the absolute value of number.   Most computers use a two's complement integer representation, in which the absolute value of INT_MIN (the smallest   possible int) cannot be represented; thus, abs (INT_MIN) is not defined.   llabs and imaxdiv are new to ISO C99.   See Integers for a description of the intmax_t type.

abs函数的入参是int类型,返回的也是int类型,是不能满足你的要求的

abs(right-left)>1.0e-4 这句,left不应该比right大,所以这个绝对值就不必要了
if(abs(f)<=1.0e-4)这句可以改成
if((f >= -1.0e-4) && (f <= 1.0e-4) )
Beagreathackernotacracker!
4楼2016-02-21 22:39:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

钱疯2014

新虫 (初入文坛)

5楼2016-02-22 09:19:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1036985870

金虫 (小有名气)

引用回帖:
5楼: Originally posted by 钱疯2014 at 2016-02-22 09:19:51
可以将abs改成fabs

谢谢帮助!
6楼2016-02-22 19:19:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

GeorgeWYT

新虫 (初入文坛)

7楼2016-02-23 17:32:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 1036985870 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 求调剂推荐 +3 南山南@ 2026-04-01 3/150 2026-04-02 12:09 by xiaoranmu
[考研] 一志愿北交大材料工程总分358 +8 cs0106 2026-04-01 9/450 2026-04-02 10:36 by 不吃魚的貓
[考研] 材料考研调剂 +9 Gs大王 2026-04-02 9/450 2026-04-02 10:24 by olim
[考研] 298求调剂 +4 什么是胖头鱼 2026-03-30 6/300 2026-04-01 22:06 by 客尔美德
[考研] 307分求调剂 +14 (o~o) 2026-03-31 15/750 2026-04-01 20:43 by longlotian
[考研] 085600 一志愿9 总分351 求调剂学校 +7 czhcz 2026-03-31 9/450 2026-04-01 19:24 by 无际的草原
[考研] 调剂 +3 好好读书。 2026-04-01 3/150 2026-04-01 17:06 by zhouyuwinner
[考研] 化学308分调剂 +13 你好明天你好 2026-03-30 14/700 2026-04-01 16:19 by yanflower7133
[考研] 求调剂 +4 图鉴212 2026-03-30 5/250 2026-04-01 15:32 by 图鉴212
[考研] 求0861交通运输专硕or材料专硕调剂 +4 勒布朗@ 2026-03-31 4/200 2026-04-01 09:54 by 一只好果子?
[考研] 288资源与环境专硕求调剂,不限专业,有学上就行 +25 lllllos 2026-03-30 26/1300 2026-04-01 09:52 by 一只好果子?
[考研] 070300化学专业279调剂 +10 哈哈哈^_^ 2026-03-31 10/500 2026-03-31 23:13 by liu823948201
[考研] 086000调剂 +5 7901117076 2026-03-26 5/250 2026-03-31 17:45 by 544594351
[考研] 080500-315分复试调剂 +9 上岸3821 2026-03-31 9/450 2026-03-31 17:29 by 唐沐儿
[基金申请] 面上5B能上会吗? +8 redcom 2026-03-29 8/400 2026-03-31 15:53 by niuailing
[考研] 一志愿哈尔滨工业大学材料与化工方向336分 +13 辰沐5211314 2026-03-26 13/650 2026-03-31 14:37 by 记事本2026
[考研] 本科211安全工程,初试290分,求调剂 +3 2719846834 2026-03-28 3/150 2026-03-31 13:52 by 热情沙漠
[考研] 调剂求院校招收 +7 鹤鲸鸽 2026-03-28 7/350 2026-03-31 11:21 by oooqiao
[考研] 085600 286分 材料求调剂 +11 麻辣鱿鱼 2026-03-27 12/600 2026-03-30 19:33 by Wang200018
[考研] 293求调剂 +3 末未mm 2026-03-30 5/250 2026-03-30 17:23 by 王保杰33
信息提示
请填处理意见