[問題] 哪裡有問題

看板Fortran作者 (pure)時間15年前 (2009/03/24 18:36), 編輯推噓5(5012)
留言17則, 3人參與, 最新討論串1/1
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

03/24 18:50, , 1F
do while 是邏輯運算 只有1.0/(1-x) > < = 多少 當然不能
03/24 18:50, 1F

03/24 18:55, , 2F
除了do while有錯,有ln這個內建函數嗎?標準是alog吧?
03/24 18:55, 2F

03/24 19:12, , 3F
我已經改成(1.0/(1-x)>0.,x/=1.0)卻還是不行
03/24 19:12, 3F

03/24 19:12, , 4F
有ln的內建函數
03/24 19:12, 4F

03/24 19:20, , 5F
(1.0/(1-x)>0. .and. x/=1.0)
03/24 19:20, 5F

03/24 19:22, , 6F
謝謝你! 但是這樣打後會出現write(*,*) 'input x=?'
03/24 19:22, 6F

03/24 19:23, , 7F
有錯誤 為什麼?
03/24 19:23, 7F

03/24 19:34, , 8F
我沒這問題 還是你x/=1.0拿到 改在迴圈內 if (x==1) exit
03/24 19:34, 8F

03/24 19:35, , 9F
拿掉
03/24 19:35, 9F

03/24 19:51, , 10F
可以了謝謝 請問一下 為什麼這樣可以??
03/24 19:51, 10F

03/24 20:01, , 11F
不知道是不是編譯器的關係 所以換個相同概念的寫法
03/24 20:01, 11F

03/24 20:04, , 12F
我的編輯器是PLATO的想請問你的編輯器是?可以給我嗎?
03/24 20:04, 12F

03/24 20:05, , 13F
因為我覺得我這個怪怪的!
03/24 20:05, 13F

03/24 20:11, , 14F
The G95 Project 不過可能要自己找 因為我是用大一時
03/24 20:11, 14F

03/24 20:12, , 15F
助教所提供的
03/24 20:12, 15F

03/24 20:12, , 16F
謝謝你 我去找看看!
03/24 20:12, 16F

03/24 20:29, , 17F
便當狗 14039632 我直接壓縮 不知道能不能直接解壓縮使用
03/24 20:29, 17F
文章代碼(AID): #19oBUuOD (Fortran)
文章代碼(AID): #19oBUuOD (Fortran)