请各位大侠帮看看小弟的程序.........这个程序有错吗?除了结构之外....
程序代码:
#include<stdio.h> #include<math.h> #define f(x) x*x+2*x+1 //在这里定义函数 main() { float a,b,x1,x2,f1,f2,e; int i; printf("intput a b e:"); scanf("%f%f%f",&a,&b,&e);//输入区间和精度 for(i=0;;i++) { if(fabs(a-b)<=e) { printf("%f\n%d\n",f(0.5*(a+b)),i); break;//符合这个条件后就结束循环 } else { x1=a+0.382*(b-a); x2=a+0.618*(b-a); f1=f(x1); f2=f(x2); if(f(x1)<f(x2)) { b=x2; } else { a=x1; } continue;//这个用来再次循环 } } }小弟是想用黄金分割法求极值.....不知这样编程有没有不对的地方....希望各位给点意见.....谢谢~~~
调试了没有提示错误.....但是感觉不对.....
[ 本帖最后由 w527705090 于 2011-9-22 22:36 编辑 ]