c语言 用二分法解方程,为什么出来的是0

#include<stdio.h>intmain(){floatfangcheng(floatk);floata,b,c,m,f=0.0;a=10.0,b=-10.0;c... #include<stdio.h>
int main()
{
float fangcheng(float k);
float a,b,c,m,f=0.0;
a=10.0,b=-10.0;
c=(a+b)/2.0;
for(;a-b<=0.1;)
{
m=fangcheng(c);
if(m>0)
{
a=c;
b=b;
}
else if(m<0)
{
b=c;
a=a;
}
else
{
break;
}
c=(a+b)/2.0;
}
printf("%.2f\n",c);
return 0;
}
float fangcheng(float k)
{
float m;
m=2.0*k*k*k-4.0*k*k+3.0*k-6;
return m;
}
展开
 我来答
xoaxa
2017-02-08 · TA获得超过8612个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3512万
展开全部

#include<stdio.h>
#include<math.h>

int main() {
double fangcheng(double k);
double a,b,c,m,f = 0.0;
double eps = 1E-6;
    a = 10.0,b = -10.0;
c = (a + b)/2.0;
for(;a - b >= 0.1;) {
m = fabs(fangcheng(c));
if(m > eps) {
a = c;
b = b;
}
else if(m < eps) {
b = c;
a = a;
}
else break;
c = (a + b)/2.0;
}
printf("%.2f\n",c);
return 0;
}
double fangcheng(double k) {
float m;
m = 2.0*k*k*k - 4.0*k*k + 3.0*k - 6;
return m;
}
Sievers分析仪
2025-01-06 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准... 点击进入详情页
本回答由Sievers分析仪提供
wdswxs1245
2017-02-07 · 超过20用户采纳过TA的回答
知道答主
回答量:36
采纳率:0%
帮助的人:29.4万
展开全部
for 循环的条件写错了,没有运行进去,应该是a-b>0.1
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式