问题及代码
/* 02.烟台大学计算机与控制工程学院 03.文件名称:牛顿迭代法求根 04.作 者:展一 05.完成时间:2016年11月9日 06.题目描述 07. 用牛顿迭代法求根。方程为ax3+bx2+cx+d=0。系数a,b,c,d的值一次为1,2,3,4,由主函数输入。 求x在1附近的一个实根。求出根后由主函数输出。结果保留两位小数。 08.输入 09. 系数a,b,c,d的值 10.输出 11. x在1附近的一个实根 12.样例输入 13. 1 2 3 4 14.样例输出 15. -1.65 */ #include <stdio.h> #include <stdlib.h> int main() { double solut(double ,double ,double ,double ); double a,b,c,d; scanf("%lf%lf%lf%lf",&a,&b,&c,&d); printf("%.2f",solut(a,b,c,d));; return 0; } double solut(double a,double b,double c,double d) { double m=1,n=0; do { n=m; m=n-(((a*m+b)*m+c)*m+d)/((3*a*m+2*b)*m+c); } while(fabs(m-n)>=1e-5); return m; }
运行结果
知识点总结
学习心得