Yahoo奇摩知識+將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+服務將會轉為唯讀模式。其他Yahoo奇摩產品與服務或您的Yahoo奇摩帳號都不會受影響。如需關於Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。

fortran輸出格式問題

請高手幫我解答下列程式碼

write(*,"9(2x,i1,a1,i1,a1,i2))")i,"*",1,"=",i,i,"*",2,"=",i*2,i,"*",3,"=",i*3,i,"*",4,"=",i*4,i,&

"*",5,"=",i*5,i,"*",6,"=",i*6,i,"*",7,"=",i*7,i,"*",8,"=",i*8,i,"*",9,"=",i*9

小弟不懂他write程式碼後面的指定輸出格式 的意涵

為什麼會設定六個格式? 分別掌控了螢幕上哪些控制?

1 個解答

評分
  • Jack
    Lv 5
    1 0 年前
    最佳解答

    首先,我對你的題目有兩個疑問:

    1. 這段程式碼有 Syntax error,右括號比左括號多了一個。

    2. 六個格式?? 你是說 9 個格式嗎?

    這段程式碼看似複雜,其實只是單純的輸出一行文數字而已,並不含任何螢幕控制碼。格式中的第一個 a1 是給 “*” 這個文字用的,第二個 a1 是給 “=” 這個文字用的。

    當 i=1 時,這段程式碼會輸出下面這一行文數字:

    1*1= 1 1*2= 2 1*3= 3 1*4= 4 1*5= 5 1*6= 6 1*7= 7 1*8= 8 1*9= 9

    當 i=2 時,這段程式碼會輸出下面這一行文數字:

    2*1= 2 2*2= 4 2*3= 6 2*4= 8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18

    依此類推。

    從這裡也可以看出格式中的 “9(2x,i1,a1,i1,a1,i2)” 為何要重複 9 次。

    2009-04-01 22:09:48 補充:

    2x 是空兩格,第一個 i1 是給第一個數字(在 “*” 之前)用的,第二個 i1 是給第二個數字(在 “=” 之前)用的,i2是給兩個數字的乘積(在 “=” 之後)用的,它可能會有兩位數,因此要用 i2。這段程式碼應該是九九乘法表的 DO LOOP 中的一個片段。

    參考資料: 自己
還有問題?馬上發問,尋求解答。