VB for 循环问题~基础问题啦

怎么打这几个图形~谢谢了~最好附解释哦~~~
第一个
*
**
***
****
*****
第二个
*
***
*****
*******
*********
*******
*****
***
*
第三个
*
* *
* *
* *
* *
* *
* *
* *
*
第四个
*
* *
* *
* *
*
第五个
*
* *
* * *
* *
*
太感谢了~~~
奇怪这里不能打空格吗?那么0代表空格~把3、4、5改掉了哦~★就是*~看得能清楚点
第三个
0000★
000★0★
00★000★
0★00000★
★0000000★
0★00000★
00★000★
000★0★
0000★
第四个
0000★
00★000★
★0000000★
00★000★
0000★
第五个
0000★
00★00★
★00★00★
00★00★
0000★

呕血力作,记得赏分啊。(已测,全部正确。第5题图形有点怪,和你标示出来的实际一致,但外观不太一样,注意检查。)
用select case 方法来解决,你也可以分开单独使用,相互之间不影响。
说明:OBJ可以是窗体,picture控件,可以是任何可以接受打印的控件,N是你的第X道题目,放入程序中可直接使用,稍作修改可以扩展其功能,使图形变成其它你想要的大小或其它形状。
Sub Calculate(OBJ As Object, N As Long)
On Error Resume Next
Dim i As Long, Pstr As String, TempStr As String
Select Case N
Case 1
For i = 1 To 5
OBJ.Print String(i, "*")
Next
Case 2
For i = 0 To 4
OBJ.Print String(1 + 2 * i, "*")
Next
For i = 3 To 0 Step -1
OBJ.Print String(2 * i - 1, "*")
Next
Case 3
For i = 0 To 4
Pstr = Space(4 - i) & String(1, "*")
Pstr = Pstr & Space(i * 2 - 1) & String(1, "*")
OBJ.Print Pstr
Next
For i = 3 To 0 Step -1
Pstr = Space(3 - i + 1) & String(1, "*")
Pstr = Pstr & Space(i * 2 - 1) & String(1, "*")
OBJ.Print Pstr
Next
Case 4
For i = 0 To 2
Pstr = Space(4 - i * 2) & String(1, "*")
Pstr = Pstr & Space(i * 4 - 1) & String(1, "*")
OBJ.Print Pstr
Next
For i = 1 To 0 Step -1
Pstr = Space(4 - i * 2) & String(1, "*")
Pstr = Pstr & Space(i * 4 - 1) & String(1, "*")
OBJ.Print Pstr
Next
Case 5
For i = 0 To 2
Pstr = Space(4 - i * 2) & String(1, "*")
TempStr = ""
For ii = 1 To i
TempStr = TempStr + Space(2) & String(1, "*")
Next
Pstr = Pstr & TempStr
OBJ.Print Pstr
Next
For i = 1 To 0 Step -1
Pstr = Space(4 - i * 2) & String(1, "*")
TempStr = ""
For ii = 1 To i
TempStr = TempStr + Space(2) & String(1, "*")
Next
Pstr = Pstr & TempStr
OBJ.Print Pstr
Next
End Select
End Sub

使用举例:
比如你有一个按钮command1,想打印到窗体上,图形是第2个(题目),如下。
private sub command1_click()
Calculate me,2
end sub
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-10-08
建议楼主把这5个题目分成5个帖子,方便回答!!

先给你解答第一个:

Private Sub Form_Click()
Dim i As Integer
Dim j As Integer
For i = 1 To 5
Print Tab(28 - i);
For j = 1 To 2 * i - 1
Print "*";
Next
Print
Next
End Sub
第2个回答  2008-10-08
1. 第一个
Private Sub Form_Click()
Dim i As Integer
Dim hao As String
For i = 1 To 5
hao = hao & "*"
Print hao
Next i
End Sub
第3个回答  2008-10-09
第一个有了就不说了,呵呵
第二个问题如下:
Private Sub form_Click()
Dim i As Integer
Dim hao As String
For i = 1 To 5
hao = hao & "*"
Print hao
Next i
Dim x As Integer
For x = 6 To 10
Print String(10 - x, "*")
Next x
End Sub
第三个如下:
Private Sub Form_Click()
Dim x As Integer
Print String(1, "*")
For x = 2 To 8
Print String(2, "*")
Next x
Print String(1, "*")
End Sub
第四个:
Private Sub form_Click()
Dim x As Integer
Print String(1, "*")
For x = 2 To 4
Print String(2, "*")
Next x
Print String(1, "*")
End Sub
第五个:Private Sub form_Click()
Dim i As Integer
Dim hao As String
For i = 1 To 3
hao = hao & "*"
Print hao
Next i
Dim x As Integer
Dim y As String
For x = 4 To 6
Print String(6 - x, "*")
Next x
End Sub
其实这几个方法都是相同的,只是小小的做了点变化
第4个回答  2008-10-08
用智能ABC按V加数字就可以找到了

VB FOR循环菜鸟问题
在第一层循环,你的x始终是等于4,所以相当于没循环一样,就等价于给x赋值4 所以原程序等价于:x = 4 For j = 1 To 3 x = 3 For k = 1 To 2 x = x + 6 Next k Next j 同理,第二层循环x也是定植,所以也相当于给x赋值,所以源程序等价于:x = 4 x = 3 For k = 1 To ...

关于VB中for循环的问题
代码中有三层FOR循环,其次数并非简单的累乘。我们逐层分析,以i为循环变量时,每次循环的次数如下:当i为1时,j从1循环至1,k从1循环至3,此层循环3次。当i为2时,j从1循环至2,k从1循环至3,以及k从2循环至3,此层循环5次。当i为3时,j从1循环至3,k从1循环至3,k从2循环至3,以...

vb中一个简单for循环的问题
For循环的格式是:For 循环变量=初值 To 终值 [Step 步长][语句]Next[循环变量]当步长缺省时,缺省值为1。在Visual Basic中For循环属于“先检查后执行”语句,这种语句的执行过程:当步长为正,“循环变量”首先取得“初值”,检查是否超过“终值”,如果超过就一次也不执行而跳出循环。如果没有超过就...

vb循环问题
For K = 1 To 2 Step -1 Print“你好!”Next K 系统首先执行For语句,把1赋予变量K ==> 因为步长为负数,判断 K >=2吗?不 ==> 循环结束。同样可见,循环体内的语句“Print “你好!””一次也没有被执行,其实没有发生循环。所以,你的问题是步长为负数,一开始循环控制变量为1,而循...

VB中的For循环的问题
Step-1 表示每一步减1,也就是循环第一次是i=4,然后是i=3,i=2 这是称为“冒泡法”的排序方法,可以这样理解:外循环表示需进行几轮比较,对4个元素进行比较排序,需要进行3轮比较,所以For i = 4 To 2 Step -1。而内循环则可以这样说:第一次是i=4,a(1)与a(2)、a(2)与a(3)、...

VB6.0,for循环问题
这是因为程序用了两层循环,外循环用来控制显示几行,内循环用来控制每行显示几个"*",所以每次只需打印一个即可。如果只用一个循环,那么代码就可以改为:Dim x%For x = 1 To 5 Print Tab(x); String(11 - 2 * x, "*")Next x可以看到这种方法代码量比较少 ...

vb中的for循环问题,求解释
回答:For i = 1 To 4 x = 4 For j = 1 To 2 x = 3 For k = 1 To 2 x = x + 6 Next k Next j Next i 执行顺序 i=1 x=4 j=1 x=3 k=1 x=x+6 得x=9 k=2 x=x+6 得x=15 i=1 x=4 j=2 x=3 k=1 x=x+6 得x=9 k=2 x=x+6 得x=15 虽然有...

求vb 复合for语句的循环方式急!急!急!
i=1,里面的For循环运行i次,即1次;当外面的For循环运行第2次时,i=2,里面的For循环运行i次,即2次;……当外面的For循环运行第n次时,i=n,里面的For循环运行i次,即n次;因此总的循环次数就是1+2+……+n次,当n=3时,就是1+2+3=6次 因此答案是D ...

VB FOR 循环问题~
进入循环。当开始执行 For...Next 循环时,Visual Basic 将计算start、end 和 step(仅此一次)。然后将 start 赋予 counter。运行语句块之前,它先将 counter 与 end 进行比较。如果 counter 已经超过了结束值,则 For 循环终止,并且控制将传递给 Next 语句后面的语句。否则,将运行语句块。循环的...

请教高手VB中一个for 循环的问题
1.用多线程(如:10个线程。一人干十分之一)例如:Dim a As New Form1 a.Show 建立新窗体,再运算 2.指针提升速度(CopyMemory)3.算法(用一种算法将100个数合成1个,然后计算一个数,再解运算。)

相似回答