計算方法の二分法は方程式の根を求めます

1000 ワード

/************************
*        
* f(x)=x^3-2x-5=0
*    [2,3]   
*************************/
#include<stdio.h>
#include<math.h>
#include<conio.h>

float f(float x) {
	float a;
	a = x * x * x - 2 * x - 5;
	return a;
}
int main() {
	float a, b, e, x;
	printf("
please input data a = "); scanf("%f", &a); printf("
please input data b = "); scanf("%f", &b); printf("
please input data eps = "); scanf("%f", &e); if (f(a) * f(b) < 0) { while (f(x) != 0) { x = (a + b) / 2; if (f(a) * f(x) < 0) { b = x; if (abs(b - a) < e) { break; } else continue; } else { a = x; if (abs(b - a) < e) { break; } else continue; } } printf("
"); x = (a + b) / 2; printf("The root of f(x) = 0 is x =\t%f
", x); } else printf("
Not root ! Afresh input!
"); return 0; }