1D阵列写入格式

时间:2017-10-25 23:12:39

标签: fortran

这是我的代码:

Program Array_Output

Implicit none

Integer :: i , Size_0
Integer , allocatable :: Array_0 (:)
Character , parameter :: fmt_0 = '()' !How to get: 'size_0(1X,i3)'

Write(*,*)"Enter the number:"
Read(*,*) Size_0

Allocate(Array_0(Size_0))

Do i = 1 , Size_0

   Array_0(i) = i + 4

End Do

Open(Unit = 16, File='Output.txt', Status = 'Unknown', action = 'Write')

  Write(16, fmt_0 ) ( Array_0(i), i = 1 , Size_0)

Close(Unit = 16)

End Program Array_Output

我对此代码的意图是编写包含输入数字output的{​​{1}}格式。如何在输入该数字键盘时以格式编写该号码?

1 个答案:

答案 0 :(得分:1)

我不确定是否/何时成为标准,但我使用格式(*(1X, I3))

如果这不起作用,你必须变得更有创意:

character(len=len('(___(1X, I3))')) :: fmt_0

...

write(fmt_0, '(A1, I3, A)') "(", size_0, "(1X,I3))"
write(16, fmt_0) Array(1:size_0)