注册 登录
编程论坛 VB6论坛

在图片框里输出*三角形

恓惶之年 发布于 2019-10-01 21:29, 2661 次点击
Private Sub Command1_Click()
    Dim i As Integer, j As Integer, k As Integer, n As Integer
    k = Val(Text1.Text) 'K为三角形的行数
    For i = 1 To (k \ 2) + 1
        Picture1.Print Tab((k \ 2) + 1 - i)
        For j = 1 To 2 * i - 1
            Picture1.Print "*"
        Next j
    Next i
End Sub

目标图是 *    ,但是我不知道我的代码该怎么修改,求指导
        ***
       *****
   




5 回复
#2
林月儿2019-10-01 22:18
vb除号是反斜杠?
我记得反斜杠是换行号吧?
#3
恓惶之年2019-10-01 23:06
回复 2楼 林月儿
你好,右除是整除,问题好像不是这里,我输出的图形都是一列,不能排成三角形
#4
林月儿2019-10-01 23:30

Private Sub Command1_Click()
    Dim i As Integer, j As Integer, k As Integer, n As Integer
    k = Val(Text1.Text) 'K为三角形的行数
    For i = 1 To k
        Picture1.Print Tab(k + 1 - i)'这里是不是该加个换行?
        For j = 1 To 2 * i - 1
            Picture1.Print "*"
        Next j
    Next i
End Sub
#5
yingshu2019-10-04 09:13
Private Sub Command1_Click()
    Dim i As Integer, j As Integer
    j = Val(Text1.Text) 'K为三角形的行数
    For i = 1 To j
        Picture1.Print Tab(10 - i); String(2 * i - 1, "*")  
    Next i
End Sub
  
~~~~~~~~~~~~~
希望能帮到你
#6
风吹过b2019-10-08 09:07
    Dim i As Integer, j As Integer, k As Integer, n As Integer
    k = Val(Text1.Text) 'K为三角形的行数
    For i = 1 To (k \ 2) + 1
        Picture1.Print Tab((k \ 2) + 1 - i);            '后面加分号,让后面输出的内容在同一行
        For j = 1 To 2 * i - 1
            Picture1.Print "*";                         '后面加分号,让后面输出的内容在同一行
        Next j
        Picture1.Print                                  '啥都不加,让后面输出的内容换行
    Next i
你这样试试着。

print 内容后面的符号有三种:
1、啥都没有的,直接换行,这种的后面的必须另起一行代码写
2、分号 ,后面的输出接着来,可以放在变量列表中间
3、逗号,后面的输出从下一个制表位开始,可以放在变量列表中间使用


Picture1.print 1,"2";"3";"4",5
你看看输出什么
 1            234            5

1