方程求根二分法编程程序问题

德赛法 德赛法 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
题目为:用二分法求f(x)=e^x+10*x-2=0在[0,1]内的实根,要求误差不超过1/2*10^(-2)。
我的代码如下:
#include<iostream>
#include<math.h>

#define e 2.7182818245

int main()
{
using namespace std;

double a=0,b=1,error=0.005;
double y0,y1,x;
int count=0;


do
{
x=(a+b)/2;
y0=pow(e,a)+10*a-2;
y1=pow(e,x)+10*x-2;
if(y0*y1>0)
a=x;
else
b=x;
count++;
}while((b-a)<error);
cout<<"x="<<x<<endl;
cout<<"count="<<count<<endl;
cin.get();
return 0;
}

结果显示

答案明显不对!请问哪里有问题?怎么改?
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
德赛法
C++ 语言 65,214 成员 250,514 内容