本程序在turbo c或c++下編譯
#include "stdio.h"
#include <math.h>
float f(float x)
{float y;
y=x*x*x*x+2*x*x*x-x-1;
return y;
}
void main()
{float a=0,b=0,h,y,x;
int k,n0;
printf("please input qujian a and b");
scanf("%f%f%d",&a,&b,&n0); /*輸入含根區間a,b,循環次數n0 */
for(k=0;k<=n0;k++)
{ x=(a+b)/2;
h=(b-a)/2;
y=f(x);
if(h<10e-6||fabs(y)<10e-6)
{ printf("k=%d,x=%f,y=%f",k,x,y);
break; } /*輸出分半次數k,函數的根x,及x對應的函數值.*/
else
{if(f(a)*f(x)<0)
b=x;
else a=x;
}
}
}