大哥们,用c求方城的怎么出错了?
include<stdio.h>#include<stdlib.h>
#include<math.h>
float f(float x){
return x*x*x-x-1;
}
int main(){
int i=0;
double ep=0.001;
double a=1.0,b=2.0,c,d=2.0;
c=((a+b)/d);
while(fabs(f(b-a)>ep)){
if((f(a)*f(c))<0)
b=c;
else a=c;
c=(a+b)/d;
i++;
}
printf("a的值%f b的值%f\n",a,b);
printf("经过几次循环%d\n",i);
}
求不出答案,用gdb调试纯 c=((a+b)/d);c的结果不是很正常。