24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2026级博士研究生招生报考通知(长期有效)
查看: 2873  |  回复: 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 啊,
编译的时候没显示错误,但是结果却显示的不对,是怎么回事啊??
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

peterjade

金虫 (正式写手)

【答案】应助回帖


余泽成(金币+1): 谢谢参与应助,欢迎常来程序语言版! 2012-03-11 23:23:40
double这样数据类型的值的比较,最好是用楼上建议的用差值的绝对值是否逼近一个非常小的正数(计算机就会认为是0),来判断是否相等
必须一步一步脚踏实地,才能站稳脚跟,活在当下
16楼2012-02-29 17:55:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 22 个回答

ataoyo

至尊木虫 (职业作家)

【答案】应助回帖


感谢参与,应助指数 +1
余泽成(金币+1): 谢谢参与应助! 2012-03-04 01:35:24
应该是t=t+1吧,而不是t=t+0.01
2楼2012-02-29 14:12:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fengxingwang

新虫 (初入文坛)

引用回帖:
: Originally posted by ataoyo at 2012-02-29 14:12:36:
应该是t=t+1吧,而不是t=t+0.01

那我要是想每次都给t加上0.01该怎么写啊??
3楼2012-02-29 14:19:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

fengxingwang

新虫 (初入文坛)

引用回帖:
: Originally posted by ataoyo at 2012-02-29 14:12:36:
应该是t=t+1吧,而不是t=t+0.01

现在要各个变量都定义成整数。。int定义,那结果运行对,可是我要是想得到的结果是小数怎么写啊?
4楼2012-02-29 14:21:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见