Private Sub Command1_Click()
    Dim row As Integer, space As Integer
    Dim ast As Integer
    Form1.AutoRedraw = True
    For row = 1 To 4
        For space = 1 To 4 - row
            Print " ";
        Next space
        For ast = 1 To 2 * row - 1
            Print "*";
        Next ast
        Print
    Next row
    For row = 3 To 1 Step -1
        For space = 1 To 4 - row
            Print " ";
        Next space
        For ast = 1 To 2 * row - 1
            Print "*";
        Next ast
        Print
    Next row
End Sub

解决方案 »

  1.   

    可以啊,基础编程问题。
    VB函数Space(i)就可以做第一个图。
    第二个图它们都有相应的acsii码(dos下,win可能和汉字冲突)。
      

  2.   

    一定要用嵌套吗?看这样行不行(第一颗星位置是不是错了,我的代码是按菱形图形来设计的)
    Private Sub Command1_Click()
      Dim i As Integer, j As Integer, k As Integer
      For i = 1 To 7
        Print Tab(Abs(i - 4) + 1); String(2 * 4 - 1 - 2 * Abs(i - 4), "*")
      Next
    End Sub
      

  3.   

    footballboy(郑创斌)能解释一下吗?
      

  4.   

    Print Tab(Abs(i - 4) + 1); String(2 * 4 - 1 - 2 * Abs(i - 4), "*")语句中Tab(...); 括号内的值为当前行打印的起始位置,String(2 * 4 - 1 - 2 * Abs(i - 4), "*")函数第一个参数为当前行*号的个数,第二个参数为要打印的字符。String(a,"*")表示a个*号连成的字符串