信息技术奥林匹克竞赛_VB程序设计的常用算法(10)
发布时间:2021-06-08
发布时间:2021-06-08
当加序数后的字母超过"Z"或"z"则 c=Chr(Asc(c)+k -26) 例如:You are good→ Dtz fwj ltti 解密为加密的逆过程
将每个字母C减(或加)一序数K,即 c=chr(Asc(c)-k), 例如序数k为5,这时 "Z"→"U", "z"→"u","Y"→"T"… 当加序数后的字母小于"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个字符
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.统计文本单词的个数
算法思路:
(1)从文本(字符串)的左边开始,取出一个字符;设逻辑量WT表示所取字符是否是单词内的字符,初值设为False
(2)若所取字符不是“空格”,“逗号”,“分号”或“感叹号”等单词的分隔符,再判断WT是否为True,若WT不为True则表是新单词的开始,让单词数Nw=Nw+1,让WT=True;
(3)若所取字符是“空格”,“逗号”,“分号”或“感叹号”等单词的分隔符, 则表示字符不是单词内字符,让WT=False;