| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 372 人关注过本帖
标题:帮忙看看错哪了
只看楼主 加入收藏
白凤凰777
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-3-2
结帖率:50%
收藏
已结贴  问题点数:1 回复次数:5 
帮忙看看错哪了
#include<stdio.h>
#include<math.h>
void main()
{
    float x1=-10,x2=10,x,f;
    f=2*x*x*x-4*x*x+3*x-6;
    x=(x1+x2)/2;
    while(fabs(f(x))<1e-6)
    {
        if (f(x1)*f(x)>0)
        {
            x1=x;
            x=(x1+x2)/2;
        }
        else if (f(x1)*f(x)<0)
        {
            x2=x;
            x=(x1+x2)/2;
        }
    }   
    printf("输出x的值%f\n",x);
}
搜索更多相关主题的帖子: include 
2011-04-09 01:51
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:0 
#include<stdio.h>
#include<math.h>
void main()
{
    float x1=-10,x2=10,x,f;  //你的x使用前没赋值,这样做是不安全的。是不是要把下面的两句换一下顺序?
    f=2*x*x*x-4*x*x+3*x-6;
    x=(x1+x2)/2;
    while(fabs(f(x))<1e-6)  //这里的f(x)应该是你自己定义的函数吧
    {
        if (f(x1)*f(x)>0)
        {
            x1=x;
            x=(x1+x2)/2;
        }
        else if (f(x1)*f(x)<0)
        {
            x2=x;
            x=(x1+x2)/2;
        }
    }   
    printf("输出x的值%f\n",x);
}

   唯实惟新 至诚致志
2011-04-09 09:08
木头lbj
Rank: 7Rank: 7Rank: 7
来 自:黄山
等 级:黑侠
威 望:1
帖 子:269
专家分:527
注 册:2010-11-6
收藏
得分:0 
fabs()是返回的是浮点数,是不是f(x)求出的值会有问题

。。。!!!)))000
2011-04-09 09:32
kwxx
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:309
专家分:913
注 册:2009-5-11
收藏
得分:0 
#include<stdio.h>
#include<math.h>
void main()
{
    float x1=-10,x2=10,x,f,f1; //f,f1 分别放 x,x1处函数值。注意:用到的每一个函数值,必须随时计算。因为x,x1在不断变化,其函数值也必须重新计算

    x=(x1+x2)/2;
    f=2*x*x*x-4*x*x+3*x-6;    //计算 此x 处的函数值。注意: = 赋值运算,不要想象成 公式 。
    f1=-2000-400-30-6;            // 计算 x1=-10处的函数值。
    while(fabs( f(x) ) < 1e-6)    //  f(x)  -- >  f            “<”  -- > “>=”
    {
        if (f(x1)*f(x)>0)    //   f(x1)*f(x)>0 --> f*f1>0      
        {
            x1=x;         //替代之后,应 重新计算相应函数值, 下面类似。

            x=(x1+x2)/2;
        }
        else if ( f(x1)*f(x) <0)   
        {
            x2=x;
            x=(x1+x2)/2;
        }
    }   
    printf("输出x的值%f\n",x);
}
2011-04-09 09:58
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:0 
是不是要定义一个宏啊?
#define f(x) 2*x*x*x-4*x*x+3*x-6
2011-04-09 15:18
jackboos
Rank: 2
等 级:论坛游民
帖 子:21
专家分:37
注 册:2011-4-6
收藏
得分:0 
f=2*x*x*x-4*x*x+3*x-6;是赋值语句 不是声明定义宏/函数..
2011-04-09 15:21
快速回复:帮忙看看错哪了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014744 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved