请看看下面的VB程序要怎么写?
来源:百度知道 编辑:UC知道 时间:2024/05/27 17:52:10
c-a-k-e
ca-k-e
cak-e
c-ak-e
c-ake
ca-ke
c-a-ke
如果给定任一个单词(作为输入),按上面的规则,在其相边的两个字母中插入一个“-”,要计算出所有可能的形成的字符串(输出),程序要怎么写?
又例如输入单词 cat,输出结果为:
c-a-t
ca-t
c-at
Private Sub Command1_Click()
MsgBox InsertStr(Text1.Text, "-")
End Sub
Public Function InsertStr(ByVal sSource, sInsert As String) As String
Dim b() As Boolean '每个元素表示一个字符后面是否被插入
Dim s() As String '原字符串的数组形式
Dim i, j As Integer
Dim q As Integer '商
Dim iLen As Integer '原字符串的字符个数
Dim sResult As String '函数返回值
iLen = Len(sSource)
If iLen <= 1 Then
InsertStr = sSource
Exit Function
End If
ReDim s(iLen - 1)
For i = 0 To iLen - 1
s(i) = Mid(sSource, i + 1, 1)
Next
ReDim b(iLen - 2) '最后一个字符的后面不被插入
sResult = ""
'字符后是否被插入可以借鉴二进制数取1和0的模型
For i = 1 To 2 ^ (iLen - 1) - 1
For j = 0 To iLen - 2 '二进制数每一位初始为0
b(j) = False
Next
q = i<