这是我刚刚写的,看看符合你的要求不 Dim s$(4), m$(50), i%, L%, T% '产生随机字符数组 Private Sub Command1_Click() Command2.Enabled = True T = 4 Picture1.Print "随机产生字符数组:" For i = 0 To 4 Randomize L = Int(Rnd * 5 + 2) For j = 1 To L s(i) = s(i) + Chr(Int(Rnd * 25 + 97)) m(i) = s(i) Next j Picture1.Print s(i); ","; Next i Picture1.Print paixu s End Sub'根据数组中字符长度排序 Function paixu(s$()) For i = 0 To T - 1 Min = i For j = i + 1 To T If Len(s(j)) < Len(s(Min)) Then Min = j Next j temp = s(i) s(i) = s(Min) s(Min) = temp Next i Picture1.Print "排序后的数组是:" For i = 0 To T Picture1.Print s(i); ","; Next i Picture1.Print End Function'添加字符串到数组 Private Sub Command2_Click() If Trim(Text1.Text) = "" Then MsgBox "请输入要添加的字符串" Text1.SetFocus Else n = T m(n + 1) = Text1.Text T = n + 1 paixu m End If End SubPrivate Sub Form_Load() Command2.Enabled = False End Sub可能有点麻烦,不过经验证已经符合楼主的要求了 毕竟我也学VB不久,可能写的不太标准 多多指教
Dim s$(4), m$(50), i%, L%, T%
'产生随机字符数组
Private Sub Command1_Click()
Command2.Enabled = True
T = 4
Picture1.Print "随机产生字符数组:"
For i = 0 To 4
Randomize
L = Int(Rnd * 5 + 2)
For j = 1 To L
s(i) = s(i) + Chr(Int(Rnd * 25 + 97))
m(i) = s(i)
Next j
Picture1.Print s(i); ",";
Next i
Picture1.Print
paixu s
End Sub'根据数组中字符长度排序
Function paixu(s$())
For i = 0 To T - 1
Min = i
For j = i + 1 To T
If Len(s(j)) < Len(s(Min)) Then Min = j
Next j
temp = s(i)
s(i) = s(Min)
s(Min) = temp
Next i
Picture1.Print "排序后的数组是:"
For i = 0 To T
Picture1.Print s(i); ",";
Next i
Picture1.Print
End Function'添加字符串到数组
Private Sub Command2_Click()
If Trim(Text1.Text) = "" Then
MsgBox "请输入要添加的字符串"
Text1.SetFocus
Else
n = T
m(n + 1) = Text1.Text
T = n + 1
paixu m
End If
End SubPrivate Sub Form_Load()
Command2.Enabled = False
End Sub可能有点麻烦,不过经验证已经符合楼主的要求了
毕竟我也学VB不久,可能写的不太标准
多多指教
还有随机产生的字符串只限定在了a-z之间,因为时间关系,不过楼主还可以再添加