二级VB问题

来源:百度知道 编辑:UC知道 时间:2024/06/16 11:03:35
Option Base 1

Private Sub Command1_Click()
Dim a
a = Array(1, 1, 1, 1)
Call sub1(a, 4)
For i = 1 To 4
Print a(i)
Next i
End Sub
Public Sub sub1(x, n)
If n > 1 Then
For i = 1 To n
x(n) = x(n) + 1
Call sub1(x, n - 1)
Next i
End If
End Sub
结果为
1
25
13
5
看不懂,请给予详细过程,不胜感激!

Option Base 1

Private Sub Command1_Click()
Dim a
a = Array(1, 1, 1, 1)
Call sub1(a, 4)
For i = 1 To 4
Print a(i)
Next i
End Sub
Public Sub sub1(x, n)
If n > 1 Then
For i = 1 To n - 1 '将n改成n-1
x(n) = x(n) + 1
Next i '与下一句换了个位置
Call sub1(x, n - 1) '将这句放在for循环中,是很难描述的
End If
End Sub

结果就变成了
1
2
3
4
不知道这是不是你要的

Option Base 1

Private Sub Command1_Click()
Dim a
a = Array(1, 1, 1, 1)
Call sub1(a, 4)
For i = 1 To 4
Print a(i)
Next i
End Sub
Public Sub sub1(x, n)
If n > 1 Then
For i = 1 To n
x(n) = x(n) + 1
Call sub1(x, n - 1)
Next i
End If
End Sub
结果为
1
25
13
5
看不懂,请给予详细过程,不胜感激!Option Base 1

Private Sub Command1_Click()
Dim a
a = Array(1, 1, 1, 1)
Call sub1(a, 4)