#include<stdio.h> #include<math.h> float fun (float x) { return (x*x*x - 4*x - 9); } void bisection (float *x, float a, float b, int *itr) /* this function performs and prints the result of one iteration */ { *x=(a+b)/2; ++(*itr); printf("Iteration no. %3d X = %7.5f\n", *itr, *x); } void main () { int itr = 0, maxmitr; float x, a, b, allerr, x1; printf("\nEnter the values of a, b, allowed error and maximum iterations:\n"); scanf("%f %f %f %d", &a, &b, &allerr, &maxmitr); bisection (&x, a, b, &itr); do { if (fun(a)*fun(x) < 0) b=x; else a=x; bisection (&x1, a, b, &itr); if (fabs(x1-x) < allerr) { printf("After %d iterations, root = %6.4f\n", itr, x1);