




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数组中删除一个指定的数据Option explicitPublic Sub Del() 该过程从一个含有10个数组元素的数组中删除一个指定的数据,若该数据不存在,则给出提示。 先产生10个1,100的随机整数 从键盘上输入一个数,将该数从数组中删除 Randomize Dim x As Integer Dim a() As Integer Dim i As Integer, pos As Integer ReDim a(10) As Integer For i = 1 To 10 a(i) = Int(Rnd * 100) + 1 Next i Form1.Print 原始数据: For i = 1 To 10 Form1.Print a(i); ; Next i Form1.Print x = Val(InputBox(输入删除的数x=) pos = 0 For i = 1 To 10 If x = a(i) Then -1- pos=i Exit For End If Next i If pos 0 Then For i = -2- To 9 pos -3- a(i)=a(I+1) Next i ReDim Preserve a(9) 保留原数组中的9个数 Form1.Print 删除后数据: For i = 1 To 9 Form1.Print a(i); ; Next i Form1.Print Else MsgBox 数组中未找到 & Str(x) & ,删除不成功 End IfEnd Sub数组的移动Public Sub p(a%() 该过程是用于整理数组a,使其中小于零的元素移到数组的前端, 大于零的元素移到数组的后端,等于零的元素留在数组的中间。 Dim i%, low%, high%, t% low = 0 i = 0 high = UBound(a) - 1 do While -1- If a(i) 0 Then t = a(i) a(i) = a(high) a(high) = t -3- Else -4- End If LoopEnd Sub参考答案:Public Sub p(a%() 该过程是用于整理数组a,使其中小于零的元素移到数组的前端, 大于零的元素移到数组的后端,等于零的元素留在数组的中间。 Dim i%, low%, high%, t% low = 0 i = 0 high = UBound(a)-1 Do While i = high If a(i) 0 Then t = a(i) a(i) = a(high) a(high) = t high = high - 1 Else i = i + 1 End If LoopEnd SubPrivate Sub Form_Click()Dim a(4) As IntegerFor i = 0 To 3 a(i) = InputBox() Print a(i);Next iCall p(a)PrintFor i = 0 To 3 Print a(i);Next iEnd Sub匹配的次数Option ExplicitPublic Sub findstr() 该过程通过调用matchCount函数计算子串s2在母串s1中匹配的次数 Dim s1 As String, s2 As String s1 = it is a dog,but it is not a good dog! 母串 s2 = dog 子串 Form1.Print -1- matchCount(s1, s2)End SubFunction matchCount(str1 As String, str2 As String) As Integer 本函数计算子串str2在母串str1中的匹配次数 Dim num As Integer, i As Integer, pos As Integer num = 0 For i = 1 To -2- 从第1个字符开始循环找 Len(str1) pos = -3- InStr(Right(str1, Len(str1) - i + 1), str2) If pos 0 Then 找到了指定的字符串 num = num + 1 次数加1 -4- 继续向前找 i = i + pos - 1 Else Exit For 没找到,退出 End If Next i matchCount = numEnd Function字符数组移动m个位置Public Sub MoveStr(a$(), m%, Tag As Boolean) 该过程是把字符数组移动m个位置,当Tag为True左移,则前m个字符移到字符数组尾。 Dim i%, j%, t$ Dim c If Tag Then For i = 1 To m c = a(0) for j=0 to -1- a(j) = a(j + 1) Next j -2- Next i Else For i = 1 To m -3- for j=Ubound(A) -4- a(j) = a(j - 1) Next j a(0) = c Next i End IfEnd Sub参考答案:Option ExplicitPublic Sub MoveStr(a$(), m%, Tag As Boolean) 该过程是把字符数组移动m个位置,当Tag为True左移,则前m个字符移到字符数组尾。 Dim i%, j%, t$ Dim c If Tag Then For i = 1 To m c = a(0) For j = 0 To UBound(a) - 1 a(j) = a(j + 1) Next j a(UBound(a) = c Next i Else For i = 1 To m c = a(UBound(a) For j = UBound(a) To 1 Step -1 a(j) = a(j - 1) Next j a(0) = c Next i End IfEnd SubPrivate Sub Form_Click()Dim a(5) As StringFor i = 0 To 5 a(i) = InputBox() Print a(i);Next iPrintCall MoveStr(a, 3, False)For i = 0 To 5 Print a(i);Next iEnd Sub杨辉三角形图案Option ExplicitPublic Sub prt() 该过程是输出由数字组成的如下所示杨辉三角形图案 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 Const n = 8 Dim a(n + 1) As Byte, i As Integer, j As Integer Dim s As String 给数组a赋初值 For i = 1 To n + 1 a(i) = 0 Next i 计算并打印第一个数 a(1) = 1 Form1.Print Space(2 * n + 2); 计算数字前的空格数 Form1.Print a(1) 计算其余行的数并打印 For i = 2 To -1-n + 1 a(i) = a(i - 1) For j = -2- To 2 Step 1i - 1 -3-a(j) = a(j) + a(j - 1) Next j Form1.Print Space(n - i + 1) * 2); For j = 1 To i s = Trim(Str(-4-)a(j) Form1.Print Space(Int(4 - Len(s) / 2 + 0.5) + s + Space(Int(4 - Len(s) / 2 + 0.5); Next j Form1.Print Next iEnd sub转置矩阵Public Sub Transpose() 该过程用于产生一个66的转置矩阵,将二维数组中所有行和对应列的元素进行交换。 Dim a(1 To 6, 1 To 6) As Integer Dim i As Integer, j As Integer Form1.Print 原始数据 For i = 1 To 6 For j = 1 To 6 a(i, j) = Int(Rnd * 10) Form1.Print a(i, j); Next j Form1.Print Next i For i = 2 To 6 For j = 1 To - 1 -I-1 - 2 -Call Swap(a(i, j), a(j, i) Next j Next i Form1.Print 转置后数据 For i = 1 To 6 For j = 1 To 6 - 3 -Form1.Print a(i, j); Next j Form1.Print Next iEnd SubPublic Sub Swap(a As Integer, b As Integer) Dim temp As Integer temp = a a = b b = tempEnd Sub猴子摘桃子Public Sub eat() 该过程是用于计算猴子共摘了多
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第二单元 探究铁及其化合物的转化说课稿-2025-2026学年高中化学苏教版2019必修第二册-苏教版2019
- 2025自主解除租赁合同
- 第四单元建立网站第13课一、创建站点说课稿 2024-2025学年人教版初中信息技术七年级上册
- 机械厂废渣处置管理办法
- 7.1酸及其性质说课稿2023-2024学年九年级化学鲁教版下册
- 7.3 有机化合物教学设计 2023-2024学年高一化学下学期人教版(2019)必修第二册
- 第一节 光的折射定律说课稿-2025-2026学年高中物理粤教版2019选择性必修 第一册-粤教版2019
- 第三单元名著导读《经典常谈》说课稿-2025-2026学年统编版语文八年级下册
- 定州市安全员培训课件
- 河北省沧州市泊头市交河中学等校联测2025-2026学年高三上学期9月月考政治试题(含解析)
- 2025中秋国庆双节安全培训
- 刑事谅解协议书范本6篇
- 护理员安全培训内容课件
- Starter Unit 1 Hello!单元测试(解析版)
- 金税四期培训
- 托管班安全培训课件
- 汽车制造生产知识培训课件
- 2025年县处级领导干部政治理论考试试题库(附答案)
- 2025-2030中国固态电池电解质材料研发突破与专利布局分析报告
- 医院医用耗材SPD服务项目投标方案(技术标)
- 乡镇卫生院卫生协管课件
评论
0/150
提交评论