珊瑚虫 发表于 2014-1-25 17:42:45

两种任意数据单行输出方式

本帖最后由 珊瑚虫 于 2014-1-25 17:45 编辑

前段时间群里有童鞋问单行任意个数字的输出格式控制方法,并提供了一种方法由于这个问题童鞋们经常碰到,所以在这里将两种常见的实现方法写到下面。
!两种任意数据单行输出方式
PROGRAM MAIN
IMPLICIT NONE
REAL(8)         :: X(100)
INTEGER         :: N
CHARACTER(LEN=100):: FMT
N=4
! 方式1
WRITE(*,'(<N>F15.6)')X(1:N)
N=5
! 方式2
write(FMT,*)N
FMT="("//TRIM(ADJUSTL(FMT))//'f15.6'//")"
WRITE(*,TRIM(ADJUSTL(FMT)))X(1:N)

END PROGRAM



大家还有什么好的方法可以在后面继续跟帖
下面是在CVF6.6编译器下的执行结果

fcode 发表于 2014-1-25 17:50:26

嗯,这个问题确实很多人遇到。

顺便说一下,第一种方法是不标准的语法。是 Visual Fortran 系列编译器的扩展。

岸边的鱼 发表于 2014-4-11 22:01:10

可怜的我就知道第一种方法,结果还不是标准的方法,第二种看起来好复杂啊
页: [1]
查看完整版本: 两种任意数据单行输出方式