大家好,小妹剛學程式,遇到問題還不擅長debug,上來問問資深的大大們如何解決
題目:
https://i.imgur.com/OsHMJR4.jpg
以下是我的程式碼:
int findmin(int a,int b)
{
float x1=(3*a+b)/4;
float x2=(a+3*b)/4;
float x0=(a+b)/2;
float f1=x1*x1-2*x1+5;
float f2=x2*x2-2*x2+5;
float f0=x0*x0-2*x0+5;
float e;
printf("input e : ");
scanf("%f",&e);
if(b-a<e)
return (a+b)/2;
else if(f1<f2&&f1<f0)
return findmin(a,x0);
else if(f2<f1&&f2<f0)
return findmin(x0,b);
else if(f0<f1&&f0<f2)
return findmin(x1,x2);
}
int main(void)
{
int a,b;
findmin(-5,5);
printf("ans : %f",findmin(a,b));
return 0;
}
在執行程式時 無論收斂值輸入多少,答案都是0,一直找不到問題出在哪裡QQ,在這裡先
謝謝大家回答