我寫了這段代碼,但我不知道爲什麼它不起作用。我認爲這主要是因爲濫用子程序。我知道子程序的格式是什麼,但不知道這有什麼問題。任何人都可以爲我調試這段代碼嗎?謝謝。如何在Fortran 95中使用子程序?
PROGRAM AKI
IMPLICIT NONE
INTEGER:: i,j,k,l,m,n
REAL :: R2,R1,dteta,dr
REAL ,DIMENSION (0:100) :: teta,r
REAL,DIMENSION(0:100,0:100) :: x,y
CALL SETUP
CALL GRID
CALL SAVING
PAUSE
END PROGRAM
SUBROUTINE SETUP
REAL , DIMENSION (0:100) :: teta,r
R2 = 10
R1 = 5
dr = (R2 - R1)/9
r(1) = 5
DO i = 1,9
r(i+1) = r(i) + dr
END DO
RETURN
END
SUBROUTINE GRID
REAL , DIMENSION(0:100) :: teta,r
REAL , DIMENSION(0:100,0:100) :: x,y
dteta = (2 * 3.1415)/9
teta(1) = 0
DO j= 1 , 9
teta(j+1) = teta (j) + dteta
END DO
DO i = 1 , 10
DO j = 0 , 10
x(i,j) = r(i)*cos(teta(j))
y(i,j) = r(i)*sin(teta(j))
END DO
END DO
RETURN
END
SUBROUTINE SAVING
REAL , DIMENSION(0:100,0:100) :: x,y
OPEN(1, file= "solution.dat")
DO i = 1,10
DO j = 1,10
WRITE(1, *) x(i,j),y(i,j)
END DO
END DO
CLOSE(1)
RETURN
END
歡迎來到Stack Overflow;如果你對問題更清楚,你會得到更好的答案。你期待什麼輸出,你取得了什麼?你在哪部分代碼中確定了問題所在?你能提出一個更專注於代碼部分的更具體的問題嗎?本文 - [問] - 就如何提出一個能夠獲取所需信息的問題提供了更多建議。 –
@JonathanDursi謝謝。也許我需要查看一下以熟悉網站。非常感謝你。 – user3745968