100分急求,随机输出十个小写字母,但是,要求这十个字母不相同

hydrabow 2006-03-31 04:06:39
请把代码留下,谢谢,在线等,这十个字母必须互相不同!!!十个不同的小写字母
...全文
328 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lv1 2006-03-31
  • 打赏
  • 举报
回复
of123的do until比不上狼行的for的效率吧,狼的比较好点,当然了,如果不能用集合,我盗版狼行的那就是更好了,哇哈哈哈哈
viena 2006-03-31
  • 打赏
  • 举报
回复
26取10的组合,参考:
http://blog.csdn.net/homezj/archive/2005/04/12/344095.aspx
lv1 2006-03-31
  • 打赏
  • 举报
回复
of123的do until 怎么着也赶不上狼行的for的效率高吧,还是狼的效率高点吧
lv1 2006-03-31
  • 打赏
  • 举报
回复
数组都不让用,估计集合也危险,对照楼上的修改下,什么都不用
Private Sub Command1_Click()
Dim i As Integer, j As Integer, temp As String, s As String
temp = "abcdefghijklmnopqrstuvwxyz"
s = ""
For i = 1 To 10
Randomize
j = Int(Rnd * Len(temp) + 1)
s = s & Mid(temp, j, 1)
temp = Left(temp, j - 1) & Mid(temp, j + 1)
Next
MsgBox s, vbInformation, "ok"
End Sub
of123 2006-03-31
  • 打赏
  • 举报
回复
dim strtmp as string
dim intrnd as integer

randomize
text1 = ""
do until len(text1) = 10
intrnd = asc("a") + rnd() * 26
strtmp = chr(intrnd)
if instr(text1, strtmp) < 1 then text1 = text1 & strtmp
loop
northwolves 2006-03-31
  • 打赏
  • 举报
回复
可以利用集合:

Private Sub Command1_Click()
Dim i As Integer, j As Integer, temp As New Collection, s As String
For i = 1 To 26
temp.Add Chr(i + 96)
Next
s = ""
For i = 1 To 10
Randomize
j = Int(Rnd * temp.Count + 1)
s = s & temp(j)
temp.Remove j
Next
MsgBox s, vbInformation, "ok"
End Sub
hydrabow 2006-03-31
  • 打赏
  • 举报
回复
但是不允许用数组!!

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧