#include<stdio.h>
double f(double x) { return 2 * x * x * x - 4 * x * x + 3 * x - 6; }
double real_root(double (*fun)(double), double left, double right, double deviation) { double x, y; if(deviation < 0) deviation = -deviation; while(right - left > deviation) { x = (left + right) / 2; y = fun(x); if(y >= 0) right = x; if(y <= 0) left = x; } return (left + right) / 2; }
int main() { printf("%lf\n", real_root(f, -10, 10, 1e-6)); return 0; }
这段程序从完整性上来看,我认为是不完整的,,,学习的地方是函数传入函数