[請益] 幫忙debug P幣500

看板Fortran作者 (雙棲動物)時間10年前 (2014/04/17 10:33), 編輯推噓1(104)
留言5則, 3人參與, 最新討論串1/1
不好意思 有人可以幫我把這個程式碼debug嗎? 我已經試過很多次都 都無法 我是用fortran95 如果OK P幣500 但你要教我怎麼把P幣給你 -----------程式碼如下--------------------- Program Energy IMPLICIT NONE REAL::E1,E2,E3,a1,a2,a3,a4,b1,b2,b3,b4,c1,c2,c3,i,s,r OPEN(Unit=11, file="Energy out") Data E1,E2,E3/16000.0,0.1,0.001/ Data a1,a2,a3,a4/750.0,-0.047,0.0,-0.036/ Data b1,b2,b3,b4/0.00036,-3.612,-0.015,-5.0/ Data c1,c2,c3/1.0,-0.29,-100.0/ 100 FORMAT(a4,2x,a15,2x,a15,2x,a15) WRITE(11,100)"N","E1","E2","E3" WRITE(11,100)"","kcal/m**2","kcal/m**2","kcal/m**2" WRITE(11,200)0,E1,E2,E3 DO 300 i=1,2000,1 200 FORMAT(i4,2x,f15.3,2x,f15.5,2x,f15.6) E1=E1+0.1*(a1+a2*E1+a3*E1**2+a4*E1*E2) E2=E2+0.1*(b1*E1*E2+b2*E3+b3*E3**2+B4*E2*E3) E3=E3+0.1*(C1*E2*E3+C2*E3+C3*E3**2) r=real(i)/10 s=(r-aint(r))*10 IF (s.eq.0) WRITE(11,200) i/10,E1,E2,E3 300 continue END Program Energy thanks -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.45.29 ※ 文章網址: http://www.ptt.cc/bbs/Fortran/M.1397701981.A.1FC.html

04/17 10:50, , 1F
i必須宣告成integer
04/17 10:50, 1F

04/17 10:50, , 2F
或許你可以改用gfortran 他會告訴你語法哪裡有錯
04/17 10:50, 2F

04/18 00:29, , 3F
if(s .eq. 0.)
04/18 00:29, 3F

04/18 00:33, , 4F
10 要用浮點數10.
04/18 00:33, 4F

04/18 09:34, , 5F
i宣告成integer,  還有IF判斷式你不能期望兩個浮點相等
04/18 09:34, 5F
文章代碼(AID): #1JJprT7y (Fortran)
文章代碼(AID): #1JJprT7y (Fortran)