油气储运网

 找回密码
 立即注册

QQ登录

QQ快速登录

一步迅速开始

pdms培训&项目数字化360网
查看: 4768|回复: 3

求解下面的编程 求助红色区域 是

[复制链接]
发表于 2017-3-12 17:46:11 | 显示全部楼层 |阅读模式
3金币


d1=0.001,d2=1.5;

while(1)

{

d3=(d1+d2)/2.0;

Re=1.534*Q*del*1000/(d3*u);

R1=0.001;

R2=1.0;

while(1)

{

R3=(R1+R2)/2.0;if(fr(k,d3,Re,R3)>1e-6)R1=R3; if(fr(k,d3,Re,R3)<-1e-6)R2=R3;if(fabs(fr(k,d3,Re,R3))<1e-6)break;

}

R=R3; if(fd(R,z,d3)>1e-6)d1=d3;

if(fd(R,z,d3)<-1e-6) d2=d3;if(fabs(d3-d1)<1e-6&&fabs(d3-d2)<1e-6)break;

}

d=d3; printf("摩阻系数为R=%e,管径为d=%em\n\n\n",R,d); printf("雷诺数为Re=%e\n\n\n",Re);

}


 楼主| 发表于 2017-3-12 17:47:21 | 显示全部楼层
截取了自己不懂得地方  ,发布出来全部的编程  点我QQ   谢谢前辈大神们
发表于 2017-3-13 17:16:29 | 显示全部楼层
两个while循环是死循环
因为条件为1永远为真
if语句的break条件满足时,跳出循环
具体结果自己分析
 楼主| 发表于 2017-3-13 23:28:42 来自手机 | 显示全部楼层
hqbtc 发表于 2017-3-13 17:16
两个while循环是死循环
因为条件为1永远为真
if语句的break条件满足时,跳出循环

程序没问题,调用子函数算的fr和fd。就是上面的管径d1和d2的赋值0.001和1.5,这是输气管道管径的编程。发不了全部的只发了我不懂的这个
您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则

扫码访问手机版

QQ|关于我们|网站地图|油气储运网 ( 鲁ICP备11007657号-3 )

GMT+8, 2024-11-19 08:41 , Processed in 0.022546 second(s), 10 queries , Gzip On, MemCached On.

Powered by Discuz! X3.5

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回列表