[問題] if用法

看板Fortran作者 (薛丁格的貓)時間8年前 (2016/05/12 23:58), 編輯推噓1(106)
留言7則, 3人參與, 最新討論串1/1
在練習寫一元二次方程式,參考網路別人的寫法的程式碼如下: real a, b, c, det complex r1, r2 1 write (*, "(/'請輸入方程式 ax^2+bx+c=0 的 a, b, c 值: ', $)") read (*, *) a, b, c if (a == 0.) then print *, 'a 不可為 0' go to 1 end if det = b**2 - 4.*a*c if (det) 3, 5, 7 3 r1 = cmplx(-b/(2.*a), sqrt(-det)/(2.*a)) r2 = cmplx(-b/(2.*a), -sqrt(-det)/(2.*a)) print *, '無實數根, 有 2 個複數根:', r1, r2 go to 1 5 print *, '有 1 個實數根:', -b/(2.*a) go to 1 7 print *, '有 2 個實數根:', (-b+sqrt(det))/(2.*a), (-b-sqrt(det))/(2.*a) go to 1 end 來源:https://tw.answers.yahoo.com/question/index?qid=20091226000015KK08689 想請問他的if 怎麼判斷式只有一個變數,後面接3 5 7就可以 他怎麼知道det<0要去3,det==要去5,det>0要去7 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.121.208.62 ※ 文章網址: https://www.ptt.cc/bbs/Fortran/M.1463068715.A.516.html

05/13 10:41, , 1F
arithmetic if,現在很少人用了
05/13 10:41, 1F

05/13 10:44, , 2F
最原始版fortran只有這種if,但有了logical if以後大家
05/13 10:44, 2F

05/13 10:45, , 3F
都比較常用好讀又好寫的logical if,Fortran90已經把
05/13 10:45, 3F

05/13 10:47, , 4F
arithmetic if列為obsolescent了,留著只是為了和F77相
05/13 10:47, 4F

05/13 10:47, , 5F
05/13 10:47, 5F

05/13 12:30, , 6F
長知識推
05/13 12:30, 6F

05/16 18:07, , 7F
謝謝
05/16 18:07, 7F
文章代碼(AID): #1NDAWhKM (Fortran)
文章代碼(AID): #1NDAWhKM (Fortran)