可咐芹谈以参考下面的代码:
Private Sub Command1_Click()
Dim i As Long, j As Long
Dim strTemp As String, strXing As String
For i = 0 To 3
strXing = ""
For j = 1 To (7 - Abs(i) * 2)
strXing = strXing & "*"
Next
strTemp = Space(Abs(i)) & strXing & Space(Abs(i))
Print strTemp
Next
End Sub
扩展资料:
VB中For循环的格式:
For 循环变量 = 初值首枯 To 终值 [Step 步长] step 2 就是i=i+2
[循环体]
Next [循环变量]
注意:
1、当步长 > 0 时
循环执行的条件:循环变量 <= 终值
2、衡碰当步长 < 0 时
循环执行的条件:循环变量 >= 终值
强行退出 For 循环,请使用 Exit For。
参考资料来源:百度百科-Visual Basic
一、控制行首的空格数目
二、控制每行的星号数目
三、控制行数。
代码如下:
Private Sub Command1_Click()
Cls
Do
行数 = Int(InputBox("你要多少行?少于一行可以行!"))
Loop Until 行数 > 1
For i = 1 To 行数
For j = 1 To i - 1 '行首的空格
Print " ";
Next j
For j = 1 To 2 * (行数 - i) + 1 '星号数目控制
Print "*";
Next j
Print '结束本行
Next i
End Sub
答案补充,你的错误有两处,缺陷有一处。
错误1:一共三个print语句,前两个都必须在最后加上英文分号,不然不汪悔能保持在同一行。这手陵是个功能性错误。
错误2:“for i=1 to n step -1”因为我们输入的n一般都大于1,而不得循环步长却是-1,导致循环不被执行毕陵戚!这是个编程逻辑上的致命错误!应该写作“for i=n to 1 step -1”
缺陷:“Dim i, j As Integer ”你的本意是声明i和j为整型变量,但结果却是j是整型变量,而i却是变体变量。索然在本程序不会出错,也不影响使用,但是个缺陷。应该写作:“Dim i As Integer, j As Integer”
最简单的代码禅姿弯是:
Private Sub Form_click()
Dim n As Integer, i As Integer
n = InputBox("输入数册源字n 打印图形"贺闷)
For i = 1 To n
Print Space(i - 1) & String((n - i) * 2 + 1, "*")
Next
End Sub
倒三角蔽贺形1-9行,题目要求双循环
Private Sub Command1_Click()
Dim a%, b%, c%
c = Val(Text1.Text) 'text1.text是输入有卜雀几行型并早
For a = c To 1 Step -1
Print Tab(-(a - 10));
For b = 1 To 1
Print String(a + (a - 1), "*")
Next b
Next a
End Sub