|
来源:baidu
发表日期:2008年5月10日
作者:
|
算法:给定区间[a,b],并设与符号相反,取为根的容许误差,为的容许误差 (1)令c=(a+b)/2 (2)如果(c-a)〈或,则输出,结束;否则执行(3) (3)如果,则令;否则则令,重复(1)(2)(3)
题目:求方程f(x)=x*x*x+4*x*x-10在区间[1,1.5]上的根,要求求出具有3位有效数的近似值
>>:
#include <stdio.h> #include <math.h> float getvalue(float x) { return x*x*x+4*x*x-10; }
void main() {
float a=1,b=1.5,c; c=(a+b)/2; while(fabs(getvalue(c))>0.00001 && fabs(a-b)>0.00001){ if(getvalue(c)*getvalue(b)<0) a=c; if(getvalue(a)*getvalue(c)<0) b=c; c=(a+b)/2; } printf("%0.3f\n",c); }
(编辑:网站学习网)
|
|
|
|