#include <stdio.h> #include <math.h> double h(double x) { return x*x*x*x*x - 1.25; } double newton(double (*f)(double x), double x0) { double x = x0; const double delta = 1e-7; while (f(x) != 0 ) { double df_dx = (f(x+delta)-f(x))/delta; x = x - f(x) / df_dx; printf("%.10f, %e\n", x, f(x)); } return x; } int main() { double x = newton(h, 2); if (fabs(h(x)) == 0) printf("root= %e\n", x); else printf("root not found!\n"); return 0; }