鱼C论坛

 找回密码
 立即注册
查看: 1852|回复: 6

[已解决]二分求解的一个问题

[复制链接]
发表于 2017-10-12 20:27:25 | 显示全部楼层 |阅读模式
6鱼币
用二分法解2x^3-4x^2+3x-6=0.
我用while语句写的对了,为什么用do while语句写错了,到底哪里错了,求大神解。
最佳答案
2017-10-12 20:27:26
用while循环的时候,只有if不成立才执行
  1. i = (max + min) / 2.0;
复制代码


而do while循环中始终执行该语句,中间某次有可能跳出正确的范围
002.png
001.png

最佳答案

查看完整内容

用while循环的时候,只有if不成立才执行 而do while循环中始终执行该语句,中间某次有可能跳出正确的范围
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-10-12 20:27:26 | 显示全部楼层    本楼为最佳答案   
用while循环的时候,只有if不成立才执行
  1. i = (max + min) / 2.0;
复制代码


而do while循环中始终执行该语句,中间某次有可能跳出正确的范围
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-10-13 12:24:41 From FishC Mobile | 显示全部楼层
BngThea 发表于 2017-10-13 09:42
用while循环的时候,只有if不成立才执行



不是啊,while循环里也是会一直执行max+min/2.0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-10-13 12:34:54 | 显示全部楼层
Sj中国智造 发表于 2017-10-13 12:24
不是啊,while循环里也是会一直执行max+min/2.0

当if条件满足的时候,continue语句会跳过本次循环的后续部分,直接进行下一次循环,也就是会跳过赋中值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-10-14 07:59:48 From FishC Mobile | 显示全部楼层
BngThea 发表于 2017-10-13 12:34
当if条件满足的时候,continue语句会跳过本次循环的后续部分,直接进行下一次循环,也就是会跳过赋中值

i=max+min/2.0 有几个,况且while语句的那串代码是测试正确的,dowhile有问题


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-10-14 12:16:40 | 显示全部楼层
Sj中国智造 发表于 2017-10-14 07:59
i=max+min/2.0 有几个,况且while语句的那串代码是测试正确的,dowhile有问题

我告诉你的将是你的while循环与do while循环的区别,因为这种区别(无论什么情况都会更新中值)导致的do while有时候会出错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-10-16 12:26:53 | 显示全部楼层
BngThea 发表于 2017-10-14 12:16
我告诉你的将是你的while循环与do while循环的区别,因为这种区别(无论什么情况都会更新中值)导致的do  ...


还是不懂啊,请说的详细些
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 20:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表