看板 Fortran 關於我們 聯絡資訊
寫個簡單的int四則運算 結果竟變成float 附上程式碼 請各位解惑 如何自行設定字元數並輸出int --------------------程式碼-------------------- program cal_int integer::count1,count2 integer::cost1,cost2,cost integer::earn1,earn2,earn count1=1 count2=1 cost1=400 earn1=50 cost2=40 earn2=5 cost=count1*cost1+count2*cost2 earn=count1*earn1+count2*earn2 write(*,*)cost,earn write(*,'(2i11)')cost,earn write(*,'(2f11.11)')cost,earn end program ---------------------------------------------- !結果第一行 ! 440 55 (輸出兩個整數,空白字元數量僅示意用) !結果第二行 ! 1234567890 1234567890 (輸出兩個i10亂碼,各占11個字元) !結果第三行 ! 440. 55. (輸出兩個浮點數) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.110.62.239 ※ 文章網址: https://www.ptt.cc/bbs/Fortran/M.1553173835.A.A21.html
rex0707: 2f11.11的f吧... 03/21 21:49
抱歉 沒說清楚 想用int的模式輸出 並自行設定字元數 ※ 編輯: BanPeeBan (123.110.62.239), 03/21/2019 21:55:07
alen84204: write(*,'(2f11.11)') 03/22 10:45
rex0707: https://i.imgur.com/XkDXiBO.png 03/22 19:38
fragmentwing: FW.D代表以11個字元寬度輸出浮點數(w) 04/14 15:01
fragmentwing: 以11個字元寬度輸出小數部分(d) 04/14 15:02
fragmentwing: 然後你還要考量到有個小數點 04/14 15:02
fragmentwing: 那爆炸是理所當然的啦 04/14 15:02
fragmentwing: 你連小數點的空間都沒給他喔 04/14 15:03
fragmentwing: 你跑的結果超詭異 REX0707那個結果才正常 04/14 15:04
fragmentwing: 該不會是沒放STOP所以一直跑的問題? 04/14 15:10
fragmentwing: 雖然rex0707也沒放 可是會不會是編譯器的差異? 04/14 15:10
rex0707: 我沒加STOP是因為我是直接複製貼上原PO的程式碼喔 04/14 16:35
rex0707: 我只是想表達一樣的CODE在我這邊是沒問題的 04/14 16:35
fragmentwing: 我知道 所以我才在猜會不會是編譯器的差異 04/14 17:10