/*编写用牛顿迭代法求方程的根。方程ax3+bx2+cx+d=0,系数a,b,c,d由主函数输出。求x在1附近的一个
实根,由主函数输出。牛顿的迭代法公式是:x = x0-f(x0)/f’(x0) */
#include <STDIO.H>
#include <MATH.H>
float fun(double a,double b,double c,double d)
{
float x0 = 2.0;
float x;
x = x0 - ((a * pow(x0,3) + b * pow(x0,2) + c * x0 + d)/(a * pow(x0,3) + b * pow(x0,2) + c * x0 + d));
return x;
}
int main()
{
float a,b,c,d;
printf("请输入abcd的值:\n");
scanf("%f %f %f %f",&a,&b,&c,&d);
printf("%f",fun(a,b,c,d));
}
谭浩强C程序设计(第四版)p218第12题