[問題] int計算後變成float?

看板Fortran作者 (踢屁屁)時間5年前 (2019/03/21 21:10), 5年前編輯推噓0(0014)
留言14則, 3人參與, 5年前最新討論串1/1
寫個簡單的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

03/21 21:49, 5年前 , 1F
2f11.11的f吧...
03/21 21:49, 1F
抱歉 沒說清楚 想用int的模式輸出 並自行設定字元數 ※ 編輯: BanPeeBan (123.110.62.239), 03/21/2019 21:55:07

03/22 10:45, 5年前 , 2F
write(*,'(2f11.11)')
03/22 10:45, 2F

03/22 19:38, 5年前 , 3F

04/14 15:01, 5年前 , 4F
FW.D代表以11個字元寬度輸出浮點數(w)
04/14 15:01, 4F

04/14 15:02, 5年前 , 5F
以11個字元寬度輸出小數部分(d)
04/14 15:02, 5F

04/14 15:02, 5年前 , 6F
然後你還要考量到有個小數點
04/14 15:02, 6F

04/14 15:02, 5年前 , 7F
那爆炸是理所當然的啦
04/14 15:02, 7F

04/14 15:03, 5年前 , 8F
你連小數點的空間都沒給他喔
04/14 15:03, 8F

04/14 15:04, 5年前 , 9F
你跑的結果超詭異 REX0707那個結果才正常
04/14 15:04, 9F

04/14 15:10, 5年前 , 10F
該不會是沒放STOP所以一直跑的問題?
04/14 15:10, 10F

04/14 15:10, 5年前 , 11F
雖然rex0707也沒放 可是會不會是編譯器的差異?
04/14 15:10, 11F

04/14 16:35, 5年前 , 12F
我沒加STOP是因為我是直接複製貼上原PO的程式碼喔
04/14 16:35, 12F

04/14 16:35, 5年前 , 13F
我只是想表達一樣的CODE在我這邊是沒問題的
04/14 16:35, 13F

04/14 17:10, 5年前 , 14F
我知道 所以我才在猜會不會是編譯器的差異
04/14 17:10, 14F
文章代碼(AID): #1SaurBeX (Fortran)
文章代碼(AID): #1SaurBeX (Fortran)