【问题标题】:Format output of Fortran programFortran程序的格式输出
【发布时间】:2016-01-04 21:30:01
【问题描述】:

我继承了一些代码,用于化学模拟。我有代码工作,除了输出函数 WRITE 和 FORMAT 让我很难过。我正在阅读 gfortran 在线手册,看到 gfortran 不支持 FORMAT,说明它是非标准的,并且不像 WRITE 那样可配置。没关系,我很乐意替换它,但我无法弄清楚如何格式化 FORTRAN 输出。

我想要的是在变量之前有文本。如: ZETA = 12.34 其中 ZETA 是文本,12.34 是某个变量的内容。 或在 C++ 中,cout << "ZETA = " << ZETA ;

我一直在阅读旧网页,并尝试了各种各样的东西,但我无处可去。 考虑这个示例代码:

      PROGRAM MAIN
      REAL ZETA1, ZETA2
      ZETA1 = 2.173171
      ZETA2 = 1.18530
      WRITE(*,"(A6)" Zeta1:,ZETA1, "(2F7.4)")
C 10   FORMAT *( ZETA 1, ZETA 2*,2F7.4)
      END

C 注释行是原始格式行,会引发错误。 如何格式化输出以显示

ZETA1 2.1731

ZETA2 1.1853

任何帮助或见解将不胜感激。

【问题讨论】:

  • 其实你的c++没有指定格式,可以说等价的fortran是一个简单的列表定向写入,write(*,*)'ZETA1 ',zeta
  • 不是来争论的,只是来解决问题的。

标签: formatting fortran output gfortran


【解决方案1】:

一些例子:

   PROGRAM MAIN
       REAL ZETA1, ZETA2
       ZETA1 = 2.173171
       ZETA2 = 1.18530
       write (*, '( "Zeta1:", F7.4 / "Zeta2:", F7.4 )' )  ZETA1, ZETA2
       write (*, '( 2 (A, F7.4 / ) )' )  "Zeta1", ZETA1,"Zeta2", ZETA2
       write (*, 1010) ZETA1, ZETA2
       1010 format ( "Zeta1=", F7.4 / "Zeta2=", F7.4 )
    END program main

【讨论】:

  • 谢谢你,结束我的折磨。我对源代码的其余部分应用了类似的更改,现在我完成了!哇!我表示由衷的感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多