急找高手 用C或者C++编程 题目:用二分法求,搜索区间为〔2,3〕,计算精度要求≤10-7

来源:百度知道 编辑:UC知道 时间:2024/05/22 15:52:54
紧急求助啊
各位大虾帮帮小弟肩窝啊
题目没有说清楚 用二分法求f(x)=x*x*x-2*x-5=0,搜索区间为〔2,3〕,计算精度要求≤10-6(迭代公式:x=1/x*x+1)

用二分法求f(x)=x^3-2*x-5=0,搜索区间为〔2,3),计算精度要求≤10-7.

C程序设计如下:
#include<stdio.h>
#include<math.h>
void main()
{
float x0, x1,x2,fx0,fx1,fx2;
do
{
printf("Enter x1&x2:");
/*输入区间(x1,x2)的端值x1,x2即x1=2,x2=3*/
scanf("%f,%f",&x1,&x2);
fx1=x1*((x1-0)*x1-2)-5;
fx2=x2*((x2-0)*x2-2)-5;
}
while(fx1*fx2>0);
do
{
x0=(x1+x2)/2;
fx0=x0*((x0-0)*x0-2)-5;
if((fx0*fx1)<0)
{x2=x0;
fx2=fx0;
}
else
{x1=x0;
fx1=fx0;
}
while(fabs(fx0)>=1e-7);
printf("x=%6.2f\n",x0);
}

C++程序设计如下:
#include<iostream.h>
#include<math.h>
void main()
{
float x0, x1,x2,fx0,fx1,fx2;
do
{
cout<<"Please enter x1&x2:"<<endl;
//输入区间(x1,x2)的端值x1,x2即x1=2,x2=3
cin>>x1>>x2;
fx1=x1*((x1-0)*x1-2)-5;
fx2=x2*((x2-0)*x2-2)-5;