[爆卦]for迴圈數字金字塔是什麼?優點缺點精華區懶人包

為什麼這篇for迴圈數字金字塔鄉民發文收入到精華區:因為在for迴圈數字金字塔這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者Dumkas (深邃)看板Visual_Basic標題Re: [問題] 金字塔型的程式時間Sat...


※ 引述《chitienpumei (cute)》之銘言:
: 程式執行時(form之Activate事件),利用控制敘述,將以下結果直接print於form上,利
: 用Print " " 與 Print X & " " 控制對齊(X 為一數字)。 (程式內不可以出現6)
: 6
: 6 5
: 6 5 4
: 6 5 4 3
: 6 5 4 3 2
: 6 5 4 3 2 1
: 說明一:用一迴圈控制總共列數,在每一列中,用一迴圈控制須列印空格各數,以及用一
: 迴圈控制數字列印。以for-next為例,可參考如下架構
: For I = ... To ...
: For J = ... To ...
: Print " "
: Next J
: ...
: For K = ... To ...
: Next K
: Print
: Next I
: 說明二:空白的寬度與數字的寬度可能會不同,可以用設定font方式克服,比如設定成
: Courier。
: 我試過好多種寫法 可是印出時都是一片空白 =.=|||
: 想請各位大大幫個忙 指點一下該怎麼寫吧....謝謝各位了...
因為我直接寫的
不保證真的對喔...

假設數字和空白的寬度相同
又,vb的print就算用print ;也不會直接相連印出
所以我先把每行存進一個字串
還有為了方便,最右邊的數字其實右邊也會有個空白跟著印出
不過看不到應該沒有關係


Dim i As Ingeter, j As Integer
Dim strT as String

Cls
For i = 1 To 6 '用來控制有六行

strT = "" '字串先清除

For j = 5 To 0 Step -1 '印左邊的空白
strT = strT + " "
Next j

For j = 6 To Len(strT) + 1 Step -1 '印數字(註)
strT = strT + Str(j) + " "
Next j

Print strT '印出字串

Next i

註:用Len取得strT剛剛加進空白的長度,空白分別是從5個到0個,
而數字剛好是從6印到空白數目加一的那個數字

還有i,j,k可以簡化到只用i,j即可
這應該不會違反你的作業規則吧?

--
┌╤═╮╤╮ ╤╭╤═╮╤ ╭═╭╤═╮╭══╮ 杜
║║ ║║║ ║║║ ║╟═╯ ╟╧═╢╰╤═╮ 姆
└╧═╯╰╧═╯╧╰ ╧╧ ╰═╧ ╧─╧═╯ 卡

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.216.80.249

你可能也想看看

搜尋相關網站