| 查看: 2997 | 回复: 21 | |||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||
fengxingwang新虫 (初入文坛)
|
[求助]
C++编程,关于循环结构的,大家看看我这程序哪里错了?
|
||
#include void main() { double x,y,t,e,p,f,z; x=1; y=2; z=128; for(t=1;t<6;t=t+0.01) { e=x*t; p=y*t; f=e*p*t; if(f==z) break; } printf("%f,%f\n",t,f); } 运行结果是:6.01 ,432 应该是t=4. f=128 啊, 编译的时候没显示错误,但是结果却显示的不对,是怎么回事啊?? |
» 本帖已获得的红花(最新10朵)
» 猜你喜欢
招博士
已经有5人回复
青椒八年已不青,大家都被折磨成啥样了?
已经有6人回复
救命帖
已经有9人回复
青年基金C终止
已经有3人回复
26申博求博导推荐-遥感图像处理方向
已经有4人回复
限项规定
已经有7人回复
西南交通大学国家级人才团队2026年博士研究生招生(考核制)—机械、材料、力学方向
已经有3人回复
英文综述是否需要润色及查重
已经有5人回复
为什么nbs上溴 没有产物点出现呢
已经有9人回复
sharkyurui1
金虫 (初入文坛)
- 应助: 7 (幼儿园)
- 金币: 923.3
- 帖子: 36
- 在线: 21.6小时
- 虫号: 1244287
- 注册: 2011-03-25
- 性别: GG
- 专业: 能源化工
【答案】应助回帖
★ ★
感谢参与,应助指数 +1
余泽成(金币+2): 鼓励讨论! 2012-03-11 23:24:26
感谢参与,应助指数 +1
余泽成(金币+2): 鼓励讨论! 2012-03-11 23:24:26
|
不确定是什么地方出错,但是看到几个问题,和楼主探讨一下。 一个就是定义的double变量,printf能用%f正确打印出来么?我记得以前必须写printf("%lf,%lf\n",t,f)才能正确输出double变量的值。 二个就是楼上各位所说浮点数的比较一般都是控制在一定精度内的。 三个就是楼主可以学学调试,在for循环中某一赋值语句上下断点,然后开始调试程序,程序会在断点停下,然后单步执行程序,可以查看每个变量的实时值,就可以知道问题出在哪里了。如果你觉得让t值从1慢慢加到4很麻烦,也可以用条件断点,或者把t的初始值增大到3.9(不推荐,因为可能是浮点数误差累积)。 |
17楼2012-03-01 08:17:06
ataoyo
至尊木虫 (职业作家)
- 应助: 3 (幼儿园)
- 金币: 28557.6
- 散金: 500
- 红花: 1
- 帖子: 3609
- 在线: 735.2小时
- 虫号: 832286
- 注册: 2009-08-22
- 性别: GG
- 专业: 药物化学
2楼2012-02-29 14:12:36
fengxingwang
新虫 (初入文坛)
- 应助: 0 (幼儿园)
- 金币: 8.5
- 帖子: 24
- 在线: 14.8小时
- 虫号: 1378842
- 注册: 2011-08-24
- 专业: 化工热力学和基础数据
3楼2012-02-29 14:19:24
fengxingwang
新虫 (初入文坛)
- 应助: 0 (幼儿园)
- 金币: 8.5
- 帖子: 24
- 在线: 14.8小时
- 虫号: 1378842
- 注册: 2011-08-24
- 专业: 化工热力学和基础数据
4楼2012-02-29 14:21:22













#include
回复此楼
gyqcumt