任何人都可以用我正在努力做的vb代碼來幫助我。在編程方面,我只是一個新手。模式設計的vbscript代碼
練習說: 獲得從用戶的整數n,打印出根據用戶輸入在屏幕上下面的圖案 模式1 - 當n是3時,有5行總 圖案2 - 時,n爲4,有7排共計
在輸出模式1應該是這樣的
*
***
*****
***
*
任何人都可以用我正在努力做的vb代碼來幫助我。在編程方面,我只是一個新手。模式設計的vbscript代碼
練習說: 獲得從用戶的整數n,打印出根據用戶輸入在屏幕上下面的圖案 模式1 - 當n是3時,有5行總 圖案2 - 時,n爲4,有7排共計
在輸出模式1應該是這樣的
*
***
*****
***
*
分而治之是解決這些問題的方式,與大多數的計算問題。
因此,將您的任務分解爲子問題。我可以看到三個子問題:
計算行數
創建一個函數,它ň作爲輸入,並返回行的總數。我會留給你決定這個邏輯,也許你可以擴展它,使其適用於更廣泛的數字範圍?也許有一個隱藏的公式或返回值背後的特定邏輯?或者說,你只需要一個選擇案例陳述。
工作了最大的線寬
想想如何在邏輯上解決這個問題,你有什麼需要了解的格局繼續此步驟後?我認爲你需要弄清楚中間行的寬度是多少。那將是一個很好的起點。我們知道調用前一個函數的最大線寬,這就是我們需要計算出最大線寬的所有信息。
打印結果圖像
你現在知道中行基於以前寫的功能,以及中間行的最大尺寸這張照片的數量。您現在應該可以正確地循環打印字符,但是您必須弄清楚如何填充空格以正確對齊字符。
輸入設置你的鑽石
' Building up to the peak
for (i = 1, i <= input, i++)
{
dots = 1 + (2 * (i-1))
peakdots = 1 + (2 * (input - 1))
spaces = (peakdots - dots)/2
wscript.echo spaces & dots & spaces
}
' On the way back down
for (i = (input - 1), i > 1, i--)
{
dots = 1 + (2 * (i-1))
peakdots = 1 + (2 * (input - 1))
spaces = (peakdots - dots)/2
wscript.echo spaces & dots & spaces
}
for循環需要從C風格的微調的中點(峯值),但內容應該工作原樣。