"输入区间在1.5附近,循环求解直至精度 <1e-5"的程序问题(不能运行,帮 ...
发布网友
发布时间:2024-10-09 03:11
我来回答
共1个回答
热心网友
时间:2024-11-16 01:35
#include <iostream>
#include <math.h>
#include <iomanip>
using namespace std;
int main()
{
float x0,x1,x2,fx0,fx1,fx2;
cout <<"请输入根区间的起始值:";
cin>>x1;
cout <<endl;
cout <<"请输入根区间的终止值:";
cin>>x2;
cout <<endl;
fx1=x1*((2*x1-4)*x1+3)-6;
fx2=x2*((2*x2-4)*x2+3)-6;
x0=(x1+x2)/2;
fx0=x0*((2*x0-4)*x0+3)-6;
for(;fabs(fx0)>=(1e-5);) {
if (fx0*fx1 <0)
{
x2=x0;
fx2=fx0;
}
else
{
x1=x0;
fx1=fx0;
}
x0=(x1+x2)/2;
fx0=x0*((2*x0-4)*x0+3)-6;
}
cout <<"方程的根=";
cout <<setiosflags(ios::fixed) <<setprecision(6) <<x0 <<endl;
return 0;}
可以啊,编译通过了。把代码拷过去,直接编译就行了。为了编译方便,这次把注释语句删掉了,好运~