如何用VB程序输出一个字母金字塔?仅用for循环语句

如 * * * * * * * * * * * * * * *
2025-04-24 04:35:21
推荐回答(1个)
回答1:

Option Explicit
Private Sub Form_Click()
   Dim SymbolCount As Integer '输出符号的最大个数,即最底层字母或符号的个数
   Dim SpaceCount As Integer  '左边的空格数
   Dim OutPutSpace As String  '保存要输出的左边的空格
   Dim OutPutSymbol As String '保存要输出的字符和字符间的空格
   Dim i, j As Integer
   SymbolCount = 5  '设定金字塔的高度为5层,最底层输出的符号也刚好是5个
   SpaceCount = (SymbolCount * 2 - 1) / 2  '左边空格数的初始值等于底层输出字符+字符间空格的个数的一半
   OutPutSymbol = "*"
   OutPutSpace = ""
   For i = 1 To SpaceCount '计算第一行左边所需要输出的空格数目
     OutPutSpace = OutPutSpace & " " '累加空格数目
   Next i
   For i = 1 To SymbolCount
     Print OutPutSpace & OutPutSymbol '输出计算后得出的这行的结果
     If SpaceCount > 0 Then
       SpaceCount = SpaceCount - 1
     End If
     OutPutSpace = Left(OutPutSpace, SpaceCount) '左边空格,下一行比上一行少一个空格
     OutPutSymbol = OutPutSymbol & " *" '下一行比上一行多一个空格和一个星号
   Next i
End Sub