VB For next 问题

来源:百度知道 编辑:UC知道 时间:2024/05/30 02:19:38
Private Sub Command1_Click()
s = 0: t = 0: u = 0
For x = 1 To 3
For y = 1 To x
For z = y To 3
s = s + 1
Next z
t = t + 1
Next y
u = u + 1
Next x
Print s; t; u
End Sub
输入的结果为什么是14 6 3
请详细的说出思路,谢谢 在线等
能不能把思路说出来啊...谢谢

主要留意y 上限,z下限
第一次执行
For x = 1 To 3
For y = 1 To x
For z = y To 3
时,
实际是
x = 1
For y = 1 To 1
For z = 1 To 3
这样进行For z = 1 To 3 循环,3次后(因为z=1 to 3)由于For y = 1 To 1 所以for y也结束了,因此for x到下一个值,即x=2,这时
x = 2
For y = 1 To 2 '注意y上限
For z = 1 To 3 '注意z下限
进行For z = 1 To 3 循环,3次后(因为z=1 to 3),y=2再2次(注意这时for z=2 to 3 )for z循环。这样for y for z结束,x到下一个值即x=3,类似前面这时有以下变化:
y=1
For z = 1 To 3 '3次

y=2
For z = 2 To 3 '2次

y=3
For z = 3 To 3 '1次

循环完毕,打印答案

你打个断点在第一个for循环上 然后一步一步跟着走就明白了!~

就是一层一层的循环!~ 没有什么难的!~

思路就是一层一层的循环!~

当X等于1时
S: 1
S: 2
S: 3
T: 1
u: 1

当X等于2时
S: 4
S: 5
S: 6
T: 2
S: 7
S: 8
T: 3
u: 2

当X等于3时
S: 9
S: 10
S: 11
T: 4
S: 12
S: 13
T: 5
S: 14
T: 6
u: 3