中易网

用vb编程随机产生15个不重复的英文字母

答案:5  悬赏:10  
解决时间 2021-03-02 08:57
用数组做的~!!
最佳答案
不用这么复杂,一次循环足够
Dim n As Byte
Dim C() As String
Dim sT As String, sC As String

sT = "": n = 0

Do While n < 15
sC = Chr(Int(Rnd * 26) + 65) ' ASCII:65-90 大写字母
If InStr(1, sT, sC) = 0 Then
sT = sT & ";" & sC
n = n + 1
End If
Loop

C = Split(sT, ";") '字母在c(1)-c(15)

Print Join(C(), ""), C(1), C(15) '15个字母,第一个,最后一个
全部回答
给你个思路 字母的ASCII值 大写 65-90 小写 97-122 随便你随机产生 15个之间的不同数字 然后转换成 字母 即可
private sub form_load() dim a(1 to 20) randomize timer for i = 1 to 20 a(i) = int(rnd() * 26 + 1)'产生20个1-26的随机数 next for i = 1 to 20'冒泡排序 for j = i to 20 if a(j) < a(i) then b = a(i) a(i) = a(j) a(j) = b end if next j next i for i = 1 to 20'输出 print chr(a(i) + 65),'转化为字母的ascii,然后转化为字符输出,用;号可以紧挨着输出 if i mod 6 = 0 then print'每6次输出一个换行 next end sub
一个判断是否存在的函数,一个循环生成的函数就行了 随机生成字母的方法为:c=chr(int(rnd*26)+65)
给你一个完整程序吧: Dim c(1 To 15) As String Dim i As Integer, j As Integer, a As Integer Randomize Timer a = 65 + Int(Rnd * 26) + 32 * Int(Rnd * 2) c(1) = Chr(a) For i = 1 To 14 Do While True 'Not f a = 65 + Int(Rnd * 26) + 32 * Int(Rnd * 2) For j = 1 To i If c(j) = Chr(a) Then Exit For Next j If j > i Then '找到一个 c(i + 1) = Chr(a) Exit Do End If a = 65 + Int(Rnd * 26) + 32 * Int(Rnd * 2) Loop Next i For i = 1 To 15 Print c(i); " "; Next i Print
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
魔兽世界套装出了4件效果2件效果还在吗
深圳景区多大年龄可免费
江苏省如皋市公路管理站地址在什么地方,想过
女性朋友送我一个咸鸭蛋是什么意思?
和老婆离婚昨天!今天看见她和我最好的哥们在
yes骓马啥|25摩托车油箱容量
中国政法大学-人文学院我想知道这个在什么地
偷什么不犯法?
黄晓明大婚时汪小菲的妈妈穿了什么衣服
易烊千玺的头发又时候为什么好翘
稻花香米皮地址有知道的么?有点事想过去
关于鸡的寓言故事20字
金科苑(高家小区)七区这个地址在什么地方,我
非法侵占公私财物法院判决后公安机关还可以立
一瓶伊利的营养舒化奶的热量是多少
推荐资讯
我是一个普通二本的广播电视编导编导大二的学
兰州到嘉峪关的大巴带点东西,请问谁有司机师
打冰淇淋到第三个出来的时候就不成型了,是什
180cm75kg穿什么尺码的牛仔裤
手绘画怎么画挂花树?
贾峪名苑我想知道这个在什么地方
京艺新地我想知道这个在什么地方
魅族手机QQ聊天发送相册图片怎么发送不了
小学生必背古诗80首试卷
广州高频熔金炉哪个厂家好?
怎样走好人生路
田湾河大酒店-浴足地址在哪,我要去那里办事
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?