用c++編寫二分法求解一元二次方程x^2-x-2=0在的根的程序。精確到0.00001。
#include
#include
double f(double x)
{
return x^2–x–2;
}
int main()
{
double a=0,b=3,c;
c=(b–a)/2;
while(f(c)!=0)
{
if(f(a)*f(b)>0)
b=c;
else
a=c;
}
cout<<setprecision(5)<<c;
return 0;
}
麻煩給我看一下,程序格式基本沒什麼問題,結果得不出來。
樓主可以改成這樣,基本上保留了你原來的思路
#include<iostream>
#include<iomanip>
using namespace std;
double f(double x)
{
return x*x-x-2;
}
int main()
{
double a=0,b=3,c;
c=(b-a)/2;
while(f(c) >= 0.00001 || f(c) <= -0.00001)
{
if(f(a)*f(c)<0)
{
b=c;
}
else
{
a=c;
}
c = (a + b) / 2;
}
cout<<setprecision(5)<<c<< endl;
return 0;
}