1.隨機(jī)產(chǎn)生英文字母
創(chuàng)新互聯(lián)服務(wù)項目包括崇州網(wǎng)站建設(shè)、崇州網(wǎng)站制作、崇州網(wǎng)頁制作以及崇州網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,崇州網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到崇州省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
Randomize() '功 能:初始化隨機(jī)數(shù)發(fā)生器
Me.txt1.Text = Chr(Asc("a") + Int(Rnd() * 26))
'Rnd 函數(shù)返回小于 1 但大于或等于 0 的值。
'0 = Rnd() * 26 26 是含小數(shù)位的數(shù)
'Int(Rnd() * 26) 轉(zhuǎn)換為整型,就是0~25的隨機(jī)數(shù)
'Asc("a") 得到a的ASCii數(shù)值,是整數(shù)97(A是65)
'a~z的ASCii為97~122 ,即為a~z之間的字母為97加(0~25)
'Asc("a") + Int(Rnd() * 26)為97到122的隨機(jī)數(shù)
'Chr()又可以起到轉(zhuǎn)換成字符的功能,Chr(97)表示a (a轉(zhuǎn)換成數(shù)值又是Asc("a")=97)
'Chr(Asc("a") + Int(Rnd() * 26))就是a~z的隨機(jī)數(shù)了
Randomize() '再次初始化隨機(jī)數(shù)發(fā)生器
Me.txt2.Text = Chr(Asc("A") + Int(Rnd() * 26)) '這里是A~Z的隨機(jī)數(shù)
'也可以換這種寫法
Randomize()
Me.txt1.Text = Chr(Int((26 * Rnd()) + 97)) '這里是a~z的隨機(jī)數(shù)
'這是在你知道ASCII碼的情況之下(a~z為97~122,A~Z為65~90)
'Rnd()為0~0.9999999.....的隨機(jī)數(shù)
' 26 * Rnd()為0~25.9999...的隨機(jī)數(shù)
'Int((26 * Rnd())為0~25的隨機(jī)數(shù)
'Int((26 * Rnd()) + 97)為97~122的隨機(jī)數(shù)
'Chr(Int((26 * Rnd()) + 97))就是a~z的隨機(jī)數(shù)了
Randomize()
Me.txt2.Text = Chr(Int((26 * Rnd()) + 65)) '這里是A~Z的隨機(jī)數(shù)
'至于同時在一處隨機(jī)大寫或小寫,ASCII碼的數(shù)字又不挨在一起(65-90,97-122),比較麻煩。想寫的話,你可以自己想一下怎么辦
2.數(shù)字怎樣轉(zhuǎn)換成ASCII碼所對應(yīng)的字母
Chr()函數(shù)將數(shù)字轉(zhuǎn)換成ASCII對應(yīng)的字母,Asc()函數(shù)將字母根據(jù)ASCII表轉(zhuǎn)換成數(shù)字
Chr(97)表示a (a轉(zhuǎn)換成數(shù)值又是Asc("a")=97)
3.加到數(shù)組,你可以放在一個for循環(huán)里
比如
Dim arylst1 As New ArrayList
Dim arr1() As String '數(shù)組
Dim str1 As String
For i As Integer = 1 To 15 '比如我想要15個隨機(jī)字母
Randomize()
str1 = Chr(Int((26 * Rnd()) + 65)) '這里是A~Z的隨機(jī)數(shù)
arylst1.Add(str1)
Next
ReDim arr1(arylst1.Count - 1) '這里是為了比較動態(tài),可以只改變 i 的范圍來決定要多少個隨機(jī)字母
'當(dāng)然也可以寫死,在前面直接定義為 arr1(14),下次要改的時候就要改定義的地方和i的范圍,改兩個地方
arylst1.CopyTo(arr1)
'就把數(shù)值拷貝到數(shù)組里面了
1、大寫字母對應(yīng)的ASCII碼的范圍是65~89,因此隨機(jī)生成65~89之間的數(shù)字,生成對應(yīng)的大寫字母即可;
2、打開VB6.0,新建一個標(biāo)準(zhǔn)exe工程,界面上新建一個按鈕和一個文本框;
3、按鈕代碼如下:
Private?Sub?Command1_Click()
Text1.Text?=?""
Dim?n?As?Integer
Randomize
n?=?Int(Rnd?*?25)?+?65
Text1.Text?=?Chr(n)
End?Sub
4、運(yùn)行工程,生成隨機(jī)的大寫字母;
你可以隨機(jī)從ASCII碼中的33到126之間隨機(jī)選一個數(shù)
然后還原成字符
重復(fù)12次就可以得到12位隨機(jī)字符串了~
使用rnd函數(shù)
為了生成某個范圍內(nèi)的隨機(jī)整數(shù),可使用以下公式
Int((upperbound
-
lowerbound
+
1)
*
Rnd
+
lowerbound)
upperbound
是隨機(jī)數(shù)范圍的上限,而
lowerbound
則是隨機(jī)數(shù)范圍的下限
Int((126
-
33
+
1)
*
Rnd
+
33)
Chr
函數(shù)
就是還原asc碼為字符
Randomize
為了保證每次重新加載程序不生成同樣的隨機(jī)數(shù)
代碼如下:
Private
Sub
Command1_Click()
Randomize
Dim
str1
As
String
For
i
=
1
To
12
str1
=
str1
Chr(Int((126
-
33
+
1)
*
Rnd
+
33))
Next
i
MsgBox
str1
End
Sub
說個思路,
1.寫一個字符數(shù)組將所有的字母字符存放起來如
a[52]={a,b,c,d.....z,A,B,C,....Z}
2.用隨機(jī)函數(shù)產(chǎn)生器產(chǎn)生一個隨機(jī)數(shù)
c#
里面好像是random,可以帶參數(shù),指定產(chǎn)生多大的一個隨機(jī)數(shù),這里最大的是51,即每次產(chǎn)生一個從0到51的數(shù),
3.利用隨機(jī)數(shù)作為數(shù)組下標(biāo)得到數(shù)組里對應(yīng)的字符,OK
這只是產(chǎn)生了一個字母,如果想產(chǎn)生多個隨機(jī)字母,則在一個循環(huán)里做2-3步
private
sub
command1_click()'按鈕的單擊事件
dim
a,
c$'定義變量
for
a
=
1
to
12'開始12次循環(huán)
c
=
c
chr(int((rnd()
*
79))
+
48)'每次產(chǎn)生一個字符。
next
a'
text1.text
=
c'將結(jié)果輸出在文本框中。
end
sub'單擊事件結(jié)束
分享標(biāo)題:vb.net生成隨機(jī)字符 c語言生成隨機(jī)數(shù)
網(wǎng)頁地址:http://muchs.cn/article12/hjchgc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、動態(tài)網(wǎng)站、網(wǎng)站設(shè)計、手機(jī)網(wǎng)站建設(shè)、、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)