題目分析: 
我把結果分成3段 
 1.填補空白:
 1.填補空白:因為有15層所以第一行填補15-1=14個.第二行填補15-2=13個...以此類推~ 
解:程式04-07行以一個迴圈 由1到 (n-i) 來填補空白~ 
2.產生順向字串:第一行1個.第二行2個....~ 
解:程式08行~利用行數取個位數~累加形成 
3.產生反向字串:第一行0個.第二行1個....~ 
解:利用順向字串少取1位重複字[Mid(tempstr, 1, Len(Str(tempstr)) - 2)].再作字串反轉[StrReverse]即可. 
複製程式
 
01        Dim n As Integer = 15 
02        Dim tempstr As String = "" 
03        Label1.Text = "" 
04        For i As Integer = 1 To n 
05            For j As Integer = 1 To (n - i) 
06                Label1.Text &= "  " 
07            Next 
08            tempstr &= Mid(Str(i), Len(Str(i)), 1) 
09            Label1.Text &= tempstr & StrReverse(Mid(tempstr, 1, Len(Str(tempstr)) - 2)) & vbCrLf 
10        Next 
  如果Label1屬性text預設為空白 則第3行可以省略 
如果Label1屬性textalign預設為topcenter 則第5~7行可以省略 
如果預設只有15層 則第1行可以省略 變數n改為15 
反之~要9層..則第1行=15改為=9 
ps.大於15層.因為字串長度計算會出問題「字串長度計算因素」~至於為何~請高手詳解吧~ 
另依照題目分析.程式也可以用陣列下去寫~請各位同學練習吧~ 
個人解法~請先進指導~