Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2226800
  • 博文数量: 556
  • 博客积分: 11457
  • 博客等级: 上将
  • 技术积分: 5973
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-24 22:33
文章分类

全部博文(556)

文章存档

2013年(22)

2012年(74)

2011年(460)

分类: C/C++

2011-12-02 09:53:06

  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. }
阅读(803) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~