m0_64909015 2022-09-01 21:18 采纳率: 100%
浏览 32
已结题

二分法的编程实现不知道为什么终端没有输出。代码如下

#include
#include
double a=1.0,b=1.5,c;
double result(double t)
{
return pow(t,3)-t-1;
}

int main()
{
do
{
c=(a+b)/2;
if (result(c)<0) a=c;
else if (result(c)>0) b=c;
}
while( result (c)!=0|| b-a>1e-5) ;
printf("%.5lf",result(c));
return 0;
}

  • 写回答

2条回答 默认 最新

  • 私房菜 移动开发领域优质创作者 2022-09-02 09:15
    关注

    因为你死循环了,两个条件长期符合,跳不出while 循环

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月18日
  • 已采纳回答 9月10日
  • 创建了问题 9月1日