早教吧 育儿知识 作业答案 考试题库 百科 知识分享

C++二分法//(17)分别用牛顿法和二分法求方程2x3-4x2+3x-6=0在x=1.5附近的实数根,精度ε=10-5#include#includeusingnamespacestd;doublehs(doublex){doubleresult;result=2*x*x*x-4*x*x+3*x-6;returnresult;}in

题目详情
C++二分法
//(17)分别用牛顿法和二分法求方程2x3-4x2+3x-6=0在x=1.5附近的实数根,精度ε=10-5
#include
#include
using namespace std;
double hs(double x)
{
double result;
result = 2 * x * x * x - 4 * x * x + 3 * x - 6;
return result;
}
int main()
{
double a,b,midx,midy;
double x1 = 1,x2 = 2.5;
do
{
a = hs(x1);
b = hs(x2);
midx = (x1 + x2) / 2;
midy = hs(midx);
if(midx > 0)
x2 = midx;
else
x1 = midx;
}while(fabs(midy) >= pow(10.,-5));
cout
▼优质解答
答案和解析
do 循环里的代码有误
if(midx > 0)
应当改为:if(hs(midx) > 0)
另外main()的return;语句前加cin.get();加这一句的目的是让程序运行到这里的时候暂停.