看板 Fortran 關於我們 聯絡資訊
小妹是自學fortran新手, 目前主迴圈的迭代次數,run不出來 program test implicit real (a-g,l-x) integer I,j,k,z,y Parameter k_max=500 i=0 Do while i<k_max (當迭代次數小於最高迭代則繼續run) a=2-i*(2/k_max) b=-1+i *(-1/k_max) i=i+1 write (*,*) a,b end do End Error:syntax error,found identifier “i “ when expecting one of :do while i<k _max Error:an end so statement occurred without a corresponding do, do while ,or do times statement 有嘗試google過,但還是不太了解! 麻煩板上神人可以幫幫忙了!謝謝 重要:我需要將a從2趨近到0 (線性) 將b線性遞減-1到-2 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.137.116.206 ※ 文章網址: https://www.ptt.cc/bbs/Fortran/M.1548745709.A.8BC.html
rex0707: 直接"DO i = 0 , k_max-1" 如何?01/29 16:21
liaoamy123: 你好,試過可以執行,但我需要a從2趨近到0,但執行答01/29 17:04
liaoamy123: 案出來一直在2!01/29 17:04
※ 編輯: liaoamy123 (114.137.116.206), 01/29/2019 17:06:13 ※ 編輯: liaoamy123 (114.137.116.206), 01/29/2019 17:08:08
espresso1: 改成Do while (i<k_max) 01/29 17:10
espresso1: 另外整數除以整數的結果,小數部分會捨去 01/29 17:13
espresso1: 因此2/k_max=0,-1/k_max=0 01/29 17:15
espresso1: 改成2.0/k_max及-1.0/k_max就可以了 01/29 17:17
liaoamy123: 謝謝你,跑出來了! 01/29 17:30
liaoamy123: 但放回主程式,卻還是不行 https://i.imgur.com/7 01/29 17:37
liaoamy123: https://i.imgur.com/qTbdjo2.jpg 01/29 17:38
sin55688: 應該是呼叫副程式\函數 用法錯誤吧 01/29 18:30
espresso1: 可能要檢查看副程式名稱,或主副程式間對應的引數型態 01/29 20:16
espresso1: 有無符合 01/29 20:16
liaoamy123: 好的,我再試試看哪邊出錯!謝謝 01/30 17:41