二分法

881阅读 0评论2011-12-02 高傲的活着
分类:C/C++

  1. #include "stdio.h"
  2. #include "math.h"
  3. #define f(x) (((x+1)*(x-1))*x-1)
  4. #define e 0.005
  5. void main()
  6. {
  7.    float x,a=1,b=1.5, y=f(a);
  8.     int k=0;
  9.    if(y*f(b)>=0)
  10.    {
  11.        printf("\nThe range is error!");
  12.      return;
  13.    }
  14.    else
  15.      do{
  16.          x=(a+b)/2;
  17.          printf("\nx%d=%6.4f",k,x);
  18.          k++;
  19.          if(f(x)==0)
  20.              break;
  21.          if(f(x)*f(a)<0)
  22.              b=x;
  23.          else
  24.             a=x;
  25.      }while(fabs(b-a)>e);
  26.      printf("\nx=%4.2f\n",x);
  27. }
上一篇:数值计算代码集合
下一篇:基于VB的TCP聊天器