📄 87.c
字号:
#include <stdio.h>#include <math.h>double efroot(f,x1,x2) double x1,x2,(*f)(double x);{ double x,y1,y2,y; y1=(*f)(x1); y2=(*f)(x2); if(fabs(y1)<1e-6) return x1; if(fabs(y2)<1e-6) return x2; if(y1*y2>=0){ printf("same sign");return 0; } do{ x=0.5*(x1+x2); y=(*f)(x); if(y*y1<0){x2=x;y2=y;} else {x1=x; y1=y;} }while(fabs(x1-x2)>1e-6&&fabs(y)>1e-6); return x;}double fpoly1(double x){ return (x-1)*(x-2)*(x-3);}double fpoly2(double x){ return (x+1)*(x+2)*(x+3);}void main(void){ double x; x=efroot(fpoly1,4.5,0.5); printf("x=%lf\n",x); x=efroot(fpoly2,-1.5,-2.5); printf("x=%lf\n",x);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -