void main()
{
printf("Please input calculation accuracy\n");
scanf("%lf",&eps); //用%lf
printf("eps=%lf\n",eps); //用%d的话,eps可能为0,这里输出eps验证
//一旦eps为0,do {}while(fabs(a-b)>eps);就可能会死循环
aa();
gold();
printf("X=%lf,F=%lf",X,F); //用%lf
}
当程序没有反应的时候,请使用调试功能,如果没有调试功能,可以添加printf语句查看程序运行情况
本例中可以在do循环最后添加
printf("f1=%lf f2=%lf, a=%lf, b=%lf, eps=%lf\n", f1,f2,a,b,eps); //**********************
}
while(fabs(b-a)>eps);
虽然没明白你的代码要实现什么??
但是double a,b,X,F,eps;
你的scanf() 里面的%d肯定是不对的吧!!!
你的scanf输入的eps貌似和后面的函数引用没关系,还要你的函数都没人返回值,导致你的程序运行没有反应了。还要你aa函数里面继续引用函数f() f(a3) 都没定义 无法继续运行啊
aa 里面死循环了