| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 379 人关注过本帖
标题:高手看看,我的程序哪出错了
只看楼主 加入收藏
fy8207345
Rank: 2
等 级:论坛游民
帖 子:37
专家分:64
注 册:2010-10-12
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:4 
高手看看,我的程序哪出错了
#include<stdio.h>
#include<math.h>
#include<iostream.h>
float f(float x)
{
    return 2*x*x*x-4*x*x+3*x-6;
}
void main()
{
    signed float x,a,b,c;
    a=-9.0;b=10.0;
    c=(a+b)/2;
    while(fabs(f(c))>=0.00001)
    {
        if(f(c)*f(a)<0.00001)
            b=c;
        if(f(c)*f(b)<0.00001)
            a=c;
        c=(a+b)/2;
    }
    printf("c=%10.6f\n",c);
}
输出是:c=  0.000000
搜索更多相关主题的帖子: include return 
2010-11-17 20:48
fy8207345
Rank: 2
等 级:论坛游民
帖 子:37
专家分:64
注 册:2010-10-12
收藏
得分:0 
补充一下是,是用2分法求方程的解的问题
2010-11-17 20:49
m21wo
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:4
帖 子:440
专家分:1905
注 册:2010-9-23
收藏
得分:20 
程序代码:
#include<stdio.h>
#include<math.h>

float f(float x)
{
    return 2*x*x*x-4*x*x+3*x-6;
}
void main()
{
    double x,a,b,c;
    a=-9.0;b=10.0;
    c=(a+b)/2;
    while(fabs(b-a)>=0.00001)   // 二分法求方程近似解 的思想应该是这样吧!你是不是理解错了啊
    {
        if(f(c)*f(a)<0)
            b=c;
        if(f(c)*f(b)<0)
            a=c;
        c=(a+b)/2;
    }
    printf("c=%10.6f\n",c);
}

If You Want Something, Go Get It, Period.
2010-11-17 21:19
zhongyong123
Rank: 2
等 级:论坛游民
帖 子:45
专家分:15
注 册:2008-12-16
收藏
得分:0 
fabs(b-a)这个函数的定义在哪里??
2010-11-17 21:26
zhongyong123
Rank: 2
等 级:论坛游民
帖 子:45
专家分:15
注 册:2008-12-16
收藏
得分:0 
我看明白了,同意3楼的观点。
 while(fabs(b-a)>=0.00001)       {
        if(f(c)*f(a)<0)
            b=c;
        if(f(c)*f(b)<0)
            a=c;
        c=(a+b)/2;
    }
正解!!!
2010-11-17 21:30
快速回复:高手看看,我的程序哪出错了
数据加载中...
 
   



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

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