二分法求方程__C程序

1103阅读 0评论2011-11-13 高傲的活着
分类:C/C++

题目:
以下C程序是应用二分法求方程f(x)=x*x*x-x-1=0在区间(1,2)上的解,精确到小数点后第6位。
 
  1. #include "stdio.h"
  2. #include "math.h"
  3. #define f(x) ((x*x-1)*x-1)
  4. #define e 0.0000001
  5. void main()
  6. {
  7.    float x,a=1,b=2,y=f(a);
  8.    int k=0;
  9.     char flag;
  10.    if(y*f(b)>=0){
  11.       printf("\nThe range is error!");
  12.      return;
  13.    }
  14.    else
  15.        printf("k ak     bk     xk     f(x)     bk-ak\n");
  16.      do{
  17.      x=(a+b)/2;
  18.          if(f(x)<0)
  19.              flag='-';
  20.          else flag='+';
  21.          printf("%2d %8.7f %8.7f %8.7f %c %8.7f \n",k,a,b,x,flag,b-a);
  22.          if(f(x)==0)
  23.              break;
  24.          if(f(x)>0)
  25.              b=x;
  26.          else
  27.              a=x;
  28.         k++;
  29.      }while((b-a)/2>e);
  30.      printf("\nx=%8.6f",x);.
  31. }
上一篇:关于pl/sql的查询语句技巧个人总结
下一篇:软件作业之需求分析