七、字符串的一般處理
1.簡(jiǎn)單加密和解密
加密的思想是:
將每個(gè)字母C加(或減)一序數(shù)K,即用它后的第K個(gè)字母代替,變換式公式: c=chr(Asc(c)+k)
例如序數(shù)k為5,這時(shí) "A"→ "F", "a"→?"f","B"→?"G"…
當(dāng)加序數(shù)后的字母超過(guò)"Z"或"z"則 c=Chr(Asc(c)+k -26)
例如:You are good→ Dtz fwj ltti
解密為加密的逆過(guò)程
將每個(gè)字母C減(或加)一序數(shù)K,即 c=chr(Asc(c)-k),
例如序數(shù)k為5,這時(shí) "Z"→"U", "z"→"u","Y"→"T"…
當(dāng)加序數(shù)后的字母小于"A"或"a"則 c=Chr(Asc(c)-k +26)
下段程序是加密處理:
i = 1: strp = ""
nL = Len(RTrim(strI))
Do While (i <= nL)
strT = Mid$(strI, i, 1) '取第i個(gè)字符
If (strT >= "A" And strT <= "Z") Then
iA = Asc(strT) + 5
If iA > Asc("Z") Then iA = iA - 26
strp = strp + Chr$(iA)
ElseIf (strT >= "a" And strT <= "z") Then
iA = Asc(strT) + 5
If iA > Asc("z") Then iA = iA - 26
strp = strp + Chr$(iA)
Else
strp = strp + strT
End If
i = i + 1
Loop
Print strp
2.統(tǒng)計(jì)文本單詞的個(gè)數(shù)
算法思路:
(1)從文本(字符串)的左邊開始,取出一個(gè)字符;設(shè)邏輯量WT表示所取字符是否是單詞內(nèi)的字符,初值設(shè)為False
(2)若所取字符不是"空格","逗號(hào)","分號(hào)"或"感嘆號(hào)"等單詞的分隔符,再判斷WT是否為True,若WT不為True則表是新單詞的開始,讓單詞數(shù)Nw=Nw+1,讓W(xué)T=True;
(3)若所取字符是"空格","逗號(hào)","分號(hào)"或"感嘆號(hào)"等單詞的分隔符, 則表示字符不是單詞內(nèi)字符,讓W(xué)T=False;
(4)再依次取下一個(gè)字符,重得(2)(3)直到文本結(jié)束。
下面程序段是字符串strI中包含的單詞數(shù)
Nw = 0: Wt = False
nL = Len(RTrim(strI))
For i = 1 To nL
strT = Mid$(strI, i, 1) '取第i個(gè)字符
Select Case strT
Case " ", ",", ";", "!"
Wt = False
Case Else
If Not Wt Then
Nw = Nw + 1
Wt = True
End If
End Select
Next i
Print "單詞數(shù)為:", Nw
相關(guān)推薦:
2012年下半年計(jì)算機(jī)等級(jí)考試報(bào)名時(shí)間及入口匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |