函数运算问题
求助,程序语句如下,其中Amm=9,Bmm=3,Cmm=6,都是整数常量在计算循环时,当I=Amm*Bmm*Cmm,即I=162时,应该会有D=ceiling(I/o1) =6才对,但是运行结果却是7,检查了很多次,但是不知道原因,望大佬解惑
Do I=1,Amm*Bmm*Cmm
o1=Amm*Bmm !即o1=27
D=ceiling(I/o1) !对层数向上取整
Pref(I,H)=Pref(I,H)-densitys(I,H)*9.81*rZoneheight(1)*D
densitys(I,H)=Pref(I,H)/((rT_room_air(I,H)+273.15)*Ra+9.81*Haverage(1))
write(*,*)I,o1,H,D,Pref(I,H)
END DO
END DO
stop
显示一下数值 I/o1 看看。 数值不正确的问题,建议你学习一下单步Debug调试
http://v.fcode.cn/video-debugger.html
视频教程,应用篇《调试器的使用》这个章节 fcode 发表于 2023-12-26 09:50
数值不正确的问题,建议你学习一下单步Debug调试
http://v.fcode.cn/video-debugger.html
视频教程,应用篇 ...
好的,谢谢! 浮点数有误差,你可以把 o1 定义为整数。并且去掉 ceiling 函数。
页:
[1]