作者bluehaerts (5858笨58)
看板Fortran
標題Re: [問題] linux上的指令
時間Thu Dec 4 12:39:04 2008
※ 引述《agody (講不聽)》之銘言:
: 如果題目是要算階乘(我不知道題目是啥啦)
: 又規定要用函式來用遞迴
: program factor
: read(*,*) n
: nres=ifn(n)
: write(*,*)'n=>',nres
: end
: RECURSIVE function ifn(n)
: if (n .eq. 1) then
: ifn=1
: else
: ifn=n*ifn(n-1)
: end if
: return
: end
: 科科,亂寫的,應該會過吧
我測試跑過了 出現這個結果 應該是說 沒有主程式喔
ooop.f:7:
RECURSIVE function ifn(n)
1 2
Unrecognized statement name at (1) and invalid form for assignment or statement-function definition at (2)
ooop.f: In program `MAIN__':
ooop.f:11:
ifn=n*ifn(n-1)
^
Invalid form for IF statement at (^)
所以 應該不是RECURSIVE 這個地方有錯
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.134.140.40
1F:推 noonee:你用 gfortran嗎 你的compiler不支援 recursive啦 12/04 12:40
2F:→ noonee:先別看書上怎麼寫 自己好好想一個 12/04 12:46
3F:→ bluehaerts:應該是FORTRAN90 我猜的 我是用工作站LINUX跑的 12/04 12:49
4F:→ bluehaerts:囧 連課本範例都過不了 要怎麼自己想QQ 12/04 12:50
5F:→ noonee:fortran90是規範不是 complier 你下指令的時候指令是啥? 12/04 12:56
6F:→ noonee:如果是 g77的話 那你就得用 fortran 77的規範寫 12/04 12:57
7F:→ fragmentwing: 等等 為啥不用先宣告函數型態 04/14 14:50