看板 Fortran 關於我們 聯絡資訊
program test real :: x, y write(*,*) 'input x=?' read(*,*) x do while(1.0/(1-x),x/=0) y=ln(1.0/(1-x)) write(*,*) x, y write(*,*) 'input x=?' read(*,*) x enddo end 問題出在(1.0/(1-x),x/=0) error 561-','found where a ')' was expected 想說應該是逗號那個x/=0是多餘的 可是x/=0明明就是條件 為什麼又不行 然而當我把x/=0去掉時 又會出現write(*,*) 'input x=?'這裡有錯誤 怎麼會這樣? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.114.243.98
awer89:do while 是邏輯運算 只有1.0/(1-x) > < = 多少 當然不能 03/24 18:50
gilocustom:除了do while有錯,有ln這個內建函數嗎?標準是alog吧? 03/24 18:55
koala4120:我已經改成(1.0/(1-x)>0.,x/=1.0)卻還是不行 03/24 19:12
koala4120:有ln的內建函數 03/24 19:12
awer89:(1.0/(1-x)>0. .and. x/=1.0) 03/24 19:20
koala4120:謝謝你! 但是這樣打後會出現write(*,*) 'input x=?' 03/24 19:22
koala4120:有錯誤 為什麼? 03/24 19:23
awer89:我沒這問題 還是你x/=1.0拿到 改在迴圈內 if (x==1) exit 03/24 19:34
awer89: 拿掉 03/24 19:35
koala4120:可以了謝謝 請問一下 為什麼這樣可以?? 03/24 19:51
awer89:不知道是不是編譯器的關係 所以換個相同概念的寫法 03/24 20:01
koala4120:我的編輯器是PLATO的想請問你的編輯器是?可以給我嗎? 03/24 20:04
koala4120:因為我覺得我這個怪怪的! 03/24 20:05
awer89:The G95 Project 不過可能要自己找 因為我是用大一時 03/24 20:11
awer89:助教所提供的 03/24 20:12
koala4120:謝謝你 我去找看看! 03/24 20:12
awer89:便當狗 14039632 我直接壓縮 不知道能不能直接解壓縮使用 03/24 20:29