求解下面的编程 求助红色区域 是
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);
}
785430264 截取了自己不懂得地方,发布出来全部的编程点我QQ 谢谢前辈大神们 两个while循环是死循环
因为条件为1永远为真
if语句的break条件满足时,跳出循环
具体结果自己分析 hqbtc 发表于 2017-3-13 17:16
两个while循环是死循环
因为条件为1永远为真
if语句的break条件满足时,跳出循环
程序没问题,调用子函数算的fr和fd。就是上面的管径d1和d2的赋值0.001和1.5,这是输气管道管径的编程。发不了全部的只发了我不懂的这个
页:
[1]