我在Fortran 77中編寫程序,我需要在一行上讀取指定數量的實數。例如,該輸入可以看起來如下:在線上閱讀指定編號
1.0 2.0 3.0 4.0
將指定在一行值的數目。這將保持在某個值,稱爲M.
如何讀取一行上的M REAL值。我試着用循環做這個,但我相信READ語句在執行後跳到下一行。另外,我正在使用VARIABLE INFILE來引用文件單元。
感謝
我在Fortran 77中編寫程序,我需要在一行上讀取指定數量的實數。例如,該輸入可以看起來如下:在線上閱讀指定編號
1.0 2.0 3.0 4.0
將指定在一行值的數目。這將保持在某個值,稱爲M.
如何讀取一行上的M REAL值。我試着用循環做這個,但我相信READ語句在執行後跳到下一行。另外,我正在使用VARIABLE INFILE來引用文件單元。
感謝
您可以使用READ
指定長度的整個陣列的讀取。以下是一個示例:
PROGRAM READRL
PARAMETER (SIZELM=100)
DIMENSION RLIST(SIZELM)
C Define your M here.
M = 3
C Read the M values into the first M positions of RLIST.
CALL RDNMRS(M,RLIST)
END PROGRAM READ
SUBROUTINE RDNMRS(M, RLIST)
DIMENSION RLIST(M)
READ(*,*) RLIST
END SUBROUTINE RDNMRS
將您的變量定義爲適合您問題的實際大小數組。陣列名稱爲VAR1
,其大小爲100
。你可以做成任何尺寸。
REAL VAR1(100)
....................
READ(INFILE,*)(VAR1(I),I=1,M)
...................
希望它適合你。
http://stackoverflow.com/questions/11523763/how-can-i-debug-a-fortran-read-write-statement-with-an-implicit-do-loop – agentp