用c++编写二分法求解一元二次方程x^2-x-2=0在的根的程序。精确到0.00001。
#include
#include
double f(double x)
{
return x^2–x–2;
}
int main()
{
double a=0,b=3,c;
c=(b–a)/2;
while(f(c)!=0)
{
if(f(a)*f(b)>0)
b=c;
else
a=c;
}
cout<<setprecision(5)<<c;
return 0;
}
麻烦给我看一下,程序格式基本没什么问题,结果得不出来。
c++程序简单问题,求助!
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 小灸舞 2016-03-14 07:30关注
楼主可以改成这样,基本上保留了你原来的思路
#include<iostream> #include<iomanip> using namespace std; double f(double x) { return x*x-x-2; } int main() { double a=0,b=3,c; c=(b-a)/2; while(f(c) >= 0.00001 || f(c) <= -0.00001) { if(f(a)*f(c)<0) { b=c; } else { a=c; } c = (a + b) / 2; } cout<<setprecision(5)<<c<< endl; return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 学习Python如何找兼职
- ¥15 python结合Matlab仿真忆阻器
- ¥35 有人会注册whatsaop协议号吗?
- ¥15 lead dbs 无法导入影像数据
- ¥15 多目标MPA算法优化编程实现
- ¥15 反激PWM控制芯片调研
- ¥15 Python for loop减少运行时间
- ¥15 fluent模拟物质浓度udf
- ¥15 Collection contains no element matching the predicate
- ¥20 冻品电商平台的搜索是怎么实现的