




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、VB常用算法-字符处理(加密与统计)1、加密解密 最简单的加密方法是:将每个字母加一序数,例如5,这时: “A”F”,”a” ”f”,”B” ”G”,”b” ”g”Y” ”D”, ”y” ”d”,”Z” ”E”, ”z” ”e” 解密是加密的逆操作。 界面如右: 代码如下: Option ExplicitPrivate Sub Command1_Click() Dim strInput$, Code$, Record$, c As String * 1 Dim i%, length%, iAsc% strInput = Text1.Text length = Len(Trim(strInput
2、) Code = For i = 1 To length c = Mid(strInput, i, 1) Select Case c Case A To Z iAsc = Asc(c) + 5 If iAsc Asc(Z) Then iAsc = iAsc - 26 Code = Code & Chr(iAsc) Case a To z iAsc = Asc(c) + 5 If iAsc Asc(z) Then iAsc = iAsc - 26 Code = Code & Chr(iAsc) Case Else Code = Code & c End Select Next i Text2.T
3、ext = CodeEnd SubPrivate Sub Command3_Click() Text1.Text = Text2.Text = Text3.Text = Text1.SetFocusEnd Sub2、统计 问题提出 统计字符或者数字出现的次数。 算法说明 以字符统计为例,设基本问题如下: 请统计一段文本中英文字母在文本中出现的次数。(不区分大小写) 如:I am a student. 得到: A:2 d:1 e:1 I:1 m:1 n:1 s:1 t:2 u:1 分析: 由于不区分大小写,因此可定义一个大小为26(下标:025)的数组,每个元素依次记录A、B、CZ字母出现的次数
4、。 A(0)存放字母a出现的次数 A(1)存放字母b出现的次数 A(2)存放字母c出现的次数 A(3)存放字母d出现的次数 譬如:aabdc ,则A(0)=2,A(1)=1,A(2)=1,A(3)=1 代码如下: Option Explicit Private Sub Command1_Click() Dim i As Integer, j As Integer Dim zimu(25) As Integer Dim allStr As String Dim aStr As String allStr = UCase(Text1.Text) For i = 1 To Len(Text1.Tex
5、t) aStr = Mid(allStr, i, 1) If aStr = A And aStr = Z Then zimu(Asc(aStr) - Asc(A) = zimu(Asc(aStr) - Asc(A) + 1 End If Next i For i = 0 To 25 If zimu(i) 0 Then j = j + 1 Text2.Text = Text2.Text & Chr(i + Asc(A) & : & str(zimu(i) & If j Mod 5 = 0 Then Text2.Text = Text2.Text & Chr(13) & Chr(10) End I
6、f Next i End Sub 解题技巧 熟练运用字符处理函数,对于一些数论题,譬如逆序数等也可将数字通过CStr函数转换为字符后,利用字符处理函数来解题。 3、实战练习1) 补充代码(2003秋二(8) 下面程序的功能是统计文件中英文字母(不区分大小写)出现的个数。 Option Base 1Private Sub Command1_Click() Dim alpha(26) As Integer, n As Integer Dim i As Integer, s As String Open App.Path & lx.txt For Input As #11 Do While Not
7、EOF(11) s = ( 1 ) s = UCase(s) If s = A And s = Z Then n = ( 2 ) alpha(n) = alpha(n) + 1 End If Loop For i = 1 To 26 If alpha(i) 0 Then List1.AddItem Chr(i + 64) & : & CStr(alpha(i) End If Next i CloseEnd Sub2) 补充代码(2000秋二(6) 下面程序的功能是:统计当前盘当前文件夹中的顺序文件data.txt中共有多少个单词,约定连续出现的字母定义为一个单词。 Option Explici
8、tPrivate Sub command1_Click() Dim Char() As String, St As String, Tem As String Dim Idx As Integer, Js As Long, Flen As Long Dim F As Boolean, W As String * 1 ( 1 ) Flen = LOF(10) St = Input(Flen, #10) Js = 1 Do While Js = Flen + 1 W = Mid(St, Js, 1) If ( 2 ) Then Tem = Tem + W F = True ElseIf F = True Then Idx = Idx + 1 ReDim Preserve Char(Idx)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人贷款个人管理办法
- 设计师方案管理办法
- 自营交易室管理办法
- 舞蹈兴趣班管理办法
- 贷款重组相关管理办法
- 装载机安全管理办法
- 三库管理平台管理办法
- bt项目资金管理办法
- 上市公司证券管理办法
- 营销管理办法如何制定
- 成都市新都区部分单位2025年8月公开招聘编外(聘用)人员(三)(20人)备考练习试题及答案解析
- 人教PEP版(一起)(2024)一年级上册英语全册教案
- 《食堂食品安全管理制度》知识培训
- 《大学生就业指导》课件第六章 就业权益与法律保障
- 2025年事业单位招聘工作人员考试笔试试题(含答案)
- 新版部编人教版二年级上册语文全册1-8单元教材分析
- 浙江爱生药业有限公司新增年产12亿单位药品制剂自动生产检测线升级技术改造项目环评报告
- 2025~2026学年新人教版八年级英语上册教学计划
- 2025年律师培训试题(含答案)
- 2025年事业单位工勤技能-河南-河南农业技术员一级(高级技师)历年参考题库含答案解析(5卷套题【单选100题】)
- 2025年不动产登记业务知识试题及答案(司法考试资料)
评论
0/150
提交评论