
vb6.0 排列组合 80
使用vb6.0编写一个程序输入几个代码如abcd输出这个几个代码的随机组合的全部结果如ab则输出ab和ba如abc则输出abcacbbacbcacabcba结果用text...
使用vb6.0编写一个程序
输入几个代码 如a b c d 输出这个几个代码的随机组合的全部结果 如a b 则输出ab和ba 如abc则输出abc acb bac bca cab cba
结果用textbox输出把 代码输入可以用messangbox
我学是vb。net 但是手上没有程序 所以 只好用6.0代替 如果术语代码不正确 还请大家包涵
先谢过拉 展开
输入几个代码 如a b c d 输出这个几个代码的随机组合的全部结果 如a b 则输出ab和ba 如abc则输出abc acb bac bca cab cba
结果用textbox输出把 代码输入可以用messangbox
我学是vb。net 但是手上没有程序 所以 只好用6.0代替 如果术语代码不正确 还请大家包涵
先谢过拉 展开
3个回答
展开全部
看了你的例子,我想这个程序核心包含两部分:
1、排列组合(abc acb bac)
2、逆序输出(bca cab cba)
细心的你一定发现了,后三组是前三组的逆序输出,因此只排列前一半即可。
显然,用循环语句来实现这个功能,具体语言格式我也想不起来了,就说说思路吧。
先定义三个数1,2,3。第一轮循环,令a=1,b=2,c=3,然后按从小到大输出;
第二轮循环,令a=1,c=2,b=3,按从小到大输出;
以此类推……
1、排列组合(abc acb bac)
2、逆序输出(bca cab cba)
细心的你一定发现了,后三组是前三组的逆序输出,因此只排列前一半即可。
显然,用循环语句来实现这个功能,具体语言格式我也想不起来了,就说说思路吧。
先定义三个数1,2,3。第一轮循环,令a=1,b=2,c=3,然后按从小到大输出;
第二轮循环,令a=1,c=2,b=3,按从小到大输出;
以此类推……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1个textbox,1个按钮即可
Private Sub Command1_Click()
Dim a As String, i As Integer, j As Integer
a = InputBox("请输入字符串:")
For i = 1 To Len(a)
For j = 1 To Len(a)
If i <> j Then
Text1.Text = IIf(Len(Text1.Text) = 0, "", Text1.Text & " ") & Mid$(a, i, 1) & Mid$(a, j, 1)
End If
Next j
Next i
End Sub
Private Sub Form_Load()
Text1.Text = ""
End Sub
Private Sub Command1_Click()
Dim a As String, i As Integer, j As Integer
a = InputBox("请输入字符串:")
For i = 1 To Len(a)
For j = 1 To Len(a)
If i <> j Then
Text1.Text = IIf(Len(Text1.Text) = 0, "", Text1.Text & " ") & Mid$(a, i, 1) & Mid$(a, j, 1)
End If
Next j
Next i
End Sub
Private Sub Form_Load()
Text1.Text = ""
End Sub
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在窗体上加入控件text1,command1,然后复制下面代码,运行即可。
Option Explicit
Private Function CombinationNumeric(ByVal str As String)
Dim nLen As Long, nDim, I, J, sStr, oStr, arrRtn, tStr
nLen = Len(str)
If nLen = 1 Then
CombinationNumeric = Array(str)
Else
nDim = 1&
For I = 2 To nLen
nDim = nDim * I
Next
ReDim arrStr(nDim - 1)
nDim = -1
sStr = Left(str, 1)
oStr = Mid(str, 2)
arrRtn = CombinationNumeric(oStr)
For J = 0 To UBound(arrRtn)
nDim = nDim + 1
arrStr(nDim) = sStr & arrRtn(J)
Next
For I = 2 To nLen
tStr = Mid(str, I, 1)
For J = 0 To UBound(arrRtn)
nDim = nDim + 1
arrStr(nDim) = tStr & Replace(arrRtn(J), tStr, sStr)
Next
Next
CombinationNumeric = arrStr
End If
End Function
Private Sub Command1_Click()
Dim arrStr, S
S = InputBox("请输入字符:", "参数输入", "abc")
arrStr = CombinationNumeric(Trim(S))
Text1.Text = Join(arrStr, ",")
End Sub
Option Explicit
Private Function CombinationNumeric(ByVal str As String)
Dim nLen As Long, nDim, I, J, sStr, oStr, arrRtn, tStr
nLen = Len(str)
If nLen = 1 Then
CombinationNumeric = Array(str)
Else
nDim = 1&
For I = 2 To nLen
nDim = nDim * I
Next
ReDim arrStr(nDim - 1)
nDim = -1
sStr = Left(str, 1)
oStr = Mid(str, 2)
arrRtn = CombinationNumeric(oStr)
For J = 0 To UBound(arrRtn)
nDim = nDim + 1
arrStr(nDim) = sStr & arrRtn(J)
Next
For I = 2 To nLen
tStr = Mid(str, I, 1)
For J = 0 To UBound(arrRtn)
nDim = nDim + 1
arrStr(nDim) = tStr & Replace(arrRtn(J), tStr, sStr)
Next
Next
CombinationNumeric = arrStr
End If
End Function
Private Sub Command1_Click()
Dim arrStr, S
S = InputBox("请输入字符:", "参数输入", "abc")
arrStr = CombinationNumeric(Trim(S))
Text1.Text = Join(arrStr, ",")
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询