Fortran Coder

标题: 求助IF循环语句 [打印本页]

作者: 916115735    时间: 2021-4-10 11:09
标题: 求助IF循环语句
在程序中的IF语句,得到的Cv只是最后的1.362E9,初始温度为30℃,为什么不进行循环
[Fortran] 纯文本查看 复制代码
Cv  材料比热容(mJ/(t*K))
      IF (TEMP .LT. 410.0)THEN
          Cv=(0.8228+0.0028*(TEMP-273))*1E9
      ELSE IF (TEMP .LE. 550.0)THEN
          Cv=(1.078+0.001*(TEMP-273))*1E9
      ELSE
          Cv=1.362E9
      END IF



作者: vvt    时间: 2021-4-10 13:05
因为 If 是判断语句,并不是循环语句。
作者: 916115735    时间: 2021-4-12 09:25
vvt 发表于 2021-4-10 13:05
因为 If 是判断语句,并不是循环语句。

是我表达错了  我的意思是这段程序中IF的判断结果都是1.362E9并不会根据当前温度选择其他的比热容
作者: vvt    时间: 2021-4-12 17:44
下断点调试一下就知道了。
作者: vvt    时间: 2021-4-12 17:53
我试了一下简单的代码。
[Fortran] 纯文本查看 复制代码
Program Main
  real :: temp = 30 , cv
   IF (TEMP .LT. 410.0)THEN
          Cv=(0.8228+0.0028*(TEMP-273))*1E9
      ELSE IF (TEMP .LE. 550.0)THEN
          Cv=(1.078+0.001*(TEMP-273))*1E9
      ELSE
          Cv=1.362E9
      END IF
write(*,*) cv      
End Program Main


执行的是第一个分支,结果是 1.4240003E+08

并没有出现你说的,结果是 1.362E9




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2