VB对排列组合结果赋值

来源:百度知道 编辑:UC知道 时间:2024/06/08 22:07:12
我想达到的目的是这样的:先对a,b,c,d,e五个数进行类似于排列组合式的整理,整理为:a,b,c,d,e,ab,ac,ad,ae,bc,bd,be,cd,ce,de,abc,abd,abe……。然后再将这些排列结果依次给一个序数:1,2,3,4,5,6……
最后根据我的选择,来输出相应的序数。如,我选择abcde就输出最后一个序数
有点麻烦,不知道我说清楚没。请各位高手帮帮忙,奖高分!!谢谢啦。
我问的也主要就是算法,谢谢大家了,我都想了一中午都没想出算法了……

'没有想到好的算法,这是笨方法
Private Sub Command1_Click()
Dim A(1 To 5) As String
Dim S() As String, SY As String
Dim i As Long, ja As Long, jb As Long, jc As Long, jd As Long, je As Long, k As Long

For i = 1 To 5
A(i) = InputBox("请输入第" & i & "个数", "输入")
If Len(A(i)) = 0 Then
MsgBox "输入不能为空,退出", , "错误"
Exit Sub
End If
Next
For ja = 1 To 5
k = k + 1
ReDim Preserve S(1 To k)
S(k) = A(ja)
Next
For ja = 1 To 5
For jb = ja + 1 To 5
k = k + 1
ReDim Preserve S(1 To k)
S(k) = A(ja) & A(jb)
Next
Next
For ja = 1 To 5
For jb = ja + 1 To 5
For jc = jb + 1 To 5
k = k + 1
ReDim Preserve S(1 To k)<