c++用二分法解方程描述用二分法求下面方程在(-10, 10)之间的一个根. 2x3- 4x2+ 3x- 6 = 0输入一个小于1的非负实数e,它的值表示所能允许的误差输出一个实数,其值为求得的一个根,要求精确到小数

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/30 13:44:55
c++用二分法解方程描述用二分法求下面方程在(-10, 10)之间的一个根. 2x3- 4x2+ 3x- 6 = 0输入一个小于1的非负实数e,它的值表示所能允许的误差输出一个实数,其值为求得的一个根,要求精确到小数

c++用二分法解方程描述用二分法求下面方程在(-10, 10)之间的一个根. 2x3- 4x2+ 3x- 6 = 0输入一个小于1的非负实数e,它的值表示所能允许的误差输出一个实数,其值为求得的一个根,要求精确到小数
c++用二分法解方程
描述
用二分法求下面方程在(-10, 10)之间的一个根. 2x3- 4x2+ 3x- 6 = 0
输入
一个小于1的非负实数e,它的值表示所能允许的误差
输出
一个实数,其值为求得的一个根,要求精确到小数点后8位.

#includeusing namespace std;double fun(double x){ return 2*x*x*x-4*x*x+3*x-6;}double judge(double e,double a,double b){ if(b-a

c++用二分法解方程描述用二分法求下面方程在(-10, 10)之间的一个根. 2x3- 4x2+ 3x- 6 = 0输入一个小于1的非负实数e,它的值表示所能允许的误差输出一个实数,其值为求得的一个根,要求精确到小数
提示什么错误?答案不对?
#include<iostream>


using namespace std;


double fun(double x){   
\x05return 2*x*x*x-4*x*x+3*x-6;
}


double judge(double e,double a,double b){    
\x05if(b-a<=e)
\x05\x05return (a+b)/2;  
\x05else
\x05{
\x05if(fun((a+b)/2)==0)
\x05\x05return (a+b)/2;    
\x05else if(fun(a)*fun((a+b)/2)<0)
\x05\x05return judge(e,a,(a+b)/2);    
\x05else 
\x05\x05return judge(e,(a+b)/2,b);
}
}


int main()
{   
\x05double e;    
\x05cin>>e;   
\x05cout<<judge(e,-10,10)<<endl;
\x05return 0;
}
能运行