[請益] 先做再判斷的while

看板Fortran作者 (虛擬外功)時間10年前 (2014/02/24 11:00), 編輯推噓2(204)
留言6則, 4人參與, 最新討論串1/1
我翻過書的迴圈章節 因為迴圈次數不一定所以一定要用while,而我試著改掉goto的語法所以不考慮 請問除了先判斷再進迴圈的方式之外 fortran有沒有類似C那種判斷在後,也就是至少先做一次的語法呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.22.18.23

02/24 11:15, , 1F
可以試試用exit?
02/24 11:15, 1F

02/24 11:48, , 2F
WHILE(.TRUE.) 搭配 IF(判斷) EXIT
02/24 11:48, 2F

02/25 01:07, , 3F
我本來就是這樣寫但是覺得不漂亮(討打
02/25 01:07, 3F

02/25 01:07, , 4F
看來是沒有內建的能用囉
02/25 01:07, 4F

02/25 14:44, , 5F
flag=.true. ; while(flag) ; if()flag=.false.
02/25 14:44, 5F

02/27 16:40, , 6F
謝樓上,但還是會先進判斷而非我。我採用了各位的方法
02/27 16:40, 6F
網路上找到了一個語法 直接貼範例給大家看 N = 1 DO N = N + 1 TERM = TERM * (-1.)*X*X/REAL((2*N-2)*(2*N-1)) SINX =SINX + TERM IF(ABS(TERM) .LT. 1.E-7) EXIT END DO 只要DO後面不要放變數跟設定範圍就會一直做,直到滿足判斷式才exit離開迴圈 ※ 編輯: zx09192939 來自: 163.22.18.23 (03/10 17:07)
文章代碼(AID): #1J2hN7Cd (Fortran)
文章代碼(AID): #1J2hN7Cd (Fortran)