| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1195 人关注过本帖
标题:看下我的错误!
只看楼主 加入收藏
TERMINATORXQ
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2009-11-10
收藏
得分:0 
来人呀!
2009-11-30 09:02
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
收藏
得分:0 
看得懂二分,看不懂牛顿...
找资料ING...

我可好玩啦...不信你玩玩^_^
2009-11-30 09:07
TERMINATORXQ
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2009-11-10
收藏
得分:0 
找了的   那些都是相对我来说较大的程序  能不能写个小点的嘛  
2009-11-30 09:39
李若斌
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:219
专家分:184
注 册:2009-9-30
收藏
得分:3 
#include <stdio.h>
#include <math.h>
void main()
{float x,x0,x1,f0,f1,f,a,b;
 do
   {
  printf("enter x0=");
  scanf("%f",&x0);
  printf("enter x1=");
  scanf("%f",&x1);
  f0=(((2*x0-4)*x0-3)*x0)-6;
  f1=(((2*x1-4)*x1-3)*x1)-6;
  }while((f0*f1)>0);
  a=x0;
  b=x1;
 do
  { x=(x0+x1)/2;
    f=(((2*x-4)*x-3)*x)-6;
    if((f0*f)<0)
      {x1=x;
       f1=f;
       }
     else
     {x0=x;
      f0=f;
      }
  }while(fabs(f)>=1e-5);
  printf("(((2*x-4)*x-3)*x)-6=0 in (%6.1f,%6.1f) root is %f\n",a,b,x);
  getch();
}
建议LZ改用WIN TC  方便你发问题的时候直接粘贴原来的代码。 我就是用WIN TC ,这个是我做过的二分法求根保存的代码。你看下吧,LZ要养成做了题目保存下来的习惯。
2009-11-30 09:44
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
收藏
得分:3 
用win-tc的话,请在主函数后面加getch();知道不用加的就不用加。。嘿嘿。。这个是比较简单的了··应该写个可以输入表达式的来。。不过二分法部分大概就是这样。。LZ差不多可以试试复杂点的。。
程序代码:
#include<stdio.h>
double F(int );
double dichotomy(double, double, double);
int main()  
{
    printf("x1=%lf",dichotomy(-10,10,1e-6));
    return 0;
}
double F(double x)//函数表达式
{    
    return 2*x*x*x-4*x*x+3*x-6;    
}
double dichotomy(double low, double high, double precision) // 二分法计算
{    
    double mid = (low+high)/2;    
    if (F(mid) == 0)        
        return mid;    
    while ((high-low)>=precision)        
    {
        mid = (low+high)/2;        
        if (F(mid) == 0)            
            return mid;        
        if (F(low)*F(mid) < 0)            
            high = mid;        
        else            
            low = mid;        
    }    
    return low;    
}
2009-11-30 10:07
Happy_ZhangX
Rank: 1
等 级:新手上路
帖 子:6
专家分:4
注 册:2009-11-30
收藏
得分:0 
double x0,x1,f,d;x1=1.5;
  while(fabs(x1-x0)>1e-5)
x0没赋值就是用了,导致第一次while中检验的时候,得出的答案很随机
2009-11-30 14:29
快速回复:看下我的错误!
数据加载中...
 
   



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

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