用vb编程随机产生15个不重复的英文字母
答案:5 悬赏:10
解决时间 2021-03-02 08:57
- 提问者网友:血樱陌殇
- 2021-03-01 15:31
用数组做的~!!
最佳答案
- 二级知识专家网友:颜值超标
- 2021-03-01 15:50
不用这么复杂,一次循环足够
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个字母,第一个,最后一个
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个字母,第一个,最后一个
全部回答
- 1楼网友:佛说妍妍很渣
- 2021-03-01 19:47
给你个思路
字母的ASCII值
大写 65-90
小写 97-122
随便你随机产生 15个之间的不同数字 然后转换成 字母 即可
- 2楼网友:傲娇菇凉
- 2021-03-01 19:34
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
- 3楼网友:猎杀温柔
- 2021-03-01 18:21
一个判断是否存在的函数,一个循环生成的函数就行了
随机生成字母的方法为:c=chr(int(rnd*26)+65)
- 4楼网友:短发女王川岛琦
- 2021-03-01 17:30
给你一个完整程序吧:
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
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯