2012-12-01 42 views
0

我在Fortran 77中編寫程序,我需要在一行上讀取指定數量的實數。例如,該輸入可以看起來如下:在線上閱讀指定編號

1.0 2.0 3.0 4.0

將指定在一行值的數目。這將保持在某個值,稱爲M.

如何讀取一行上的M REAL值。我試着用循環做這個,但我相信READ語句在執行後跳到下一行。另外,我正在使用VARIABLE INFILE來引用文件單元。

感謝

+0

http://stackoverflow.com/questions/11523763/how-can-i-debug-a-fortran-read-write-statement-with-an-implicit-do-loop – agentp

回答

0

您可以使用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 
0

將您的變量定義爲適合您問題的實際大小數組。陣列名稱爲VAR1,其大小爲100。你可以做成任何尺寸。

REAL VAR1(100) 
.................... 
READ(INFILE,*)(VAR1(I),I=1,M) 
................... 

希望它適合你。