

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、上机操作练习题1.某数组有20个元素,其值为随机产生的两位整数。现要求将前10个元 素与后10个元素对换。即第1个元素与第20个元素互换,第2个数与第19个 元素互换,第10个元素与第11个元素互换。在窗体上输出数组原来各元素 的值与对换后各元素的值。Opti on explicitDim a(1 to 20) as in teger, I as in teger, j as in teger, t as in tegerPrivate Sub Form_Load()ShowPrint原始数组是:Ran domizeFor i = 1 To 20a(i) = In t(R nd * 90) +
2、 10Print a(i);If i Mod 10 = 0 The n PrintNext iPrintPrint现在数组是:For i = 1 To 10j = 21 - it = a(i): a(i) = a(j): a(j) = tNext iFor i = 1 To 20Print a(i);If i Mod 10 = 0 The n PrintNext iEnd Sub2从数组中删除一个数。先定义一个一维数组,大小、数组的值自定。从 键盘上输入一个数,若这个数在数组当中,就把它删除;若这个数不在数组中, 提示“该数不在数组中”注意:1)如果数组中存在多个与该数相同的元素,每一个都能删
3、除;2)能实现多次删除Private Sub Form_Load()ShowReDim a(9) As In tegerm = 1Print原来数组为:For i = 0 To 9a(i) = InputBox(请输入第& m & 个数:) Print a(i);m = m + 1Next iPrintn = In putBox(查找的数是:)i = 0: flag = FalseDoIf a(i) = n The n j = i: flag = True For k = j To UBou nd(a) - 1 a(k) = a(k + 1)Next kReDim Preserve a(UBo
4、u nd(a) - 1)i = i - 1End Ifi = i + 1Loop While (i = UBou nd(a)If flag = False Then MsgBox n & 不在该数组中ElsePrint 删除& n & 后的数组是:For i = 0 To UBou nd(a)Print a(i);Next iEnd If End Sub3. 数组a中存放着升序排列的数据,使用array赋值,将inputbox输入的 新数插入到数组中,插入后数组仍有序。注意:要求利用动态数组,能够实现多次插入Private Sub Form_Load()Shown = 8: ReDim a(n
5、)a = Array(5, 15, 23, 52, 68, 88, 90, 99)n = n + 1: ReDim Preserve a( n)m = InputBox(请输入要插入的数据:)For i = 1 To n - 1If m sin ger(i).fe nshu(k) Thent = sin ger(i).fe nshu(j)sin ger(i).fe nshu(j) = sin ger(i).fe nshu(k)sin ger(i).fe nshu(k) = tEnd IfNextNextNextFor i = 1 To 4Forj = 2 To 5sin ger(i).scor
6、e = sin ger(i).score + sin ger(i).fe nshu(j) Nextsin ger(i).p ingjun = sin ger(i).score / 4NextFori = 1 To 3For j = i To 4If sin ger(i).score max The n max = a(i, j)If a(i, j) min The n min = a(i, j) sum = sum + a(i, j)Next jave = (sum - max - min) / (n - 2)b(i) = aveNext iFor i = 1 To n - 1For j =
7、i + 1 To nIf b(i) b(j) The nt = b(i): b(i) = b(j): b(j) = tEnd IfNext jNext iPrint选手的得分由高到低为:For i = 1 To 10Print b(i);Next iEnd Sub5.编与函数求一兀一次方程 ax2+bx+c=0的解。 注意:要求考虑方程有两相等实根、两不等实根和两个虚根的情况。Dim a As Si ngle, b As Si ngle, c As Si ngleDim s As Si nglea = InputBox(请输入 a)b = InputBox(请输入 b)c = InputBox
8、(请输入 c)s = b A 2 - 4 * a * cIf s 47 And Asc(Mid(a, i, 1) 96 And Asc(Mid(a, i, 1) 64 And Asc(Mid(a, i, 1) 91 The np = p + 1End IfNextEnd Sub7. 随机产生一个5*5的矩阵,将主对角线和次对角线元素都置为1,并求 出矩阵的四周元素之和,显示在列表框中。Optio n Base 1Private Sub Form_Load()Dim a(5, 5) As In tegerDim s As In tegerFor i = 1 To 5Forj = 1 To 5If
9、 i = j Or i = 6 - j Thena(i, j) = 1Elsea(i, j) = In t(R nd * 1000)End IfText1.Text = Text1.Text & & a(i, j)s = s + a(i, j)NextText1.Text = Text1.Text & vbCrLf & vbCrLfNextListl.Addltem (s)End Sub8 编写一个函数,能将字母按下列规律译成密码:AZazBv-Yby即第1个字母与第26个字母互换,第i个字母与第(26-i+1)个字 母互换。在文本框中任意输入一个字符串,调用该函数将密码显示在另 一个文本框中
10、。Private Sub Comma nd1_Click()Dim s1 As Stri ngs1 = Text1.TextText2.Text = con vert(s1)End SubPrivate Fun cti on conv ert(s1 As String) As Stri ngFor i = 1 To Len (s1)If Asc(Mid(s1, i, 1) 64 The n convert = convert & Chr(91 - Asc(Mid(s1, i, 1) + 64)ElseIf Asc(Mid(s1, i, 1) 96 The n convert = convert
11、 & Chr(123 - Asc(Mid(s1, i, 1) + 96)End IfNextEnd Fun cti on9. 编写2个函数,分别求两个正整数的最大公约数和最小公倍数,用户任意输入两个数,采用函数嵌套调用,该函数将它们在窗体显示。Private Sub Form_Load()Text1 = : Text2 =End SubPrivate Sub Text1_KeyPress(KeyAscii As In teger)If KeyAscii = 13 The n Text2.SetFocusEnd SubPrivate Sub Text2_KeyPress(KeyAscii As
12、In teger)Dim m As In teger, n As In teger, r As In teger, t As In teger, xClsIf KeyAscii = 13 Thenm = Text1.Textn = Text2.TextIf m n The nt = m: m = n: n = tEnd Ifr = m Mod nWhile r 0m = n: n = r: r = m Mod nWendPrintIf m 0 Or n 0 The nx = MsgBox(请输入正数,vbCritical + vbOKCancel)If x = vbCa ncel ThenEn
13、dElseText1 = : Text2 =Text1.SetFocusEnd IfElsePrint Text1.Text & 和& Text2.Text & 的最大公约数是:;nEnd IfEnd IfEnd Sub10. 编写计算阶乘的Function过程,利用ex的下列公式计算e (直到最后 一项小于10-6为止)的近似值。ex1+x/1!+x 2/2!+x 3/3!+ +xn/n!Opti on ExplicitPrivate Sub Form_Load()ShowDim x As In teger, n As In teger, s As Doublex = In putBox(请
14、输入一个数:)n = 1: s = 1Dos = s + x A n / (jieche ng(n)n = n + 1Loop Un til x a n / (jieche ng( n) i The na(i, j) = 0ElseIf i = j The na(i, j) = 1Elsea(i, j) = a(i - 1, j) + a(i - 1, j - 1)End IfEnd IfIf a(i, j) = 0 The nExit ForElsePicture1.Pri nt Tab(g); a(i, j);g = g + 10End IfNext jPicture1.Pri ntNex
15、t iEnd SubPrivate Sub Picture1_Click()End Sub12. 编写一个过程,输出以下菱形图形:ABBBCCCCC DDDDDDDCCCCCBBBA主程序输入一个奇数( =3),调用过程在窗体上输入图形Private Sub Comma nd1_Click()Dim n As In tegern = In putBox()If n Mod 2 = 0 Or n = 3 The nMsgBox (错误)ElseCall draw (n)End IfEnd SubSub draw (n As In teger)For i = 1 To (n + 1) / 2s =
16、 Chr(64 + i)Print Tab(41 - i + 1); Stri ng(2 * (i - 1) + 1, s)Nextc = 1For j = (n - 1) / 2 To 1 Step (-1)c = c + 1s = Chr(64 + i - c)Print Tab(41 - i + c + 1); Stri ng(2 * (j - 1) + 1, s)NextEnd Sub13. 编写一个将十进制转换为二进制字符串输出的函数。调用函数计算用 户输入一个十进制数,在文本框中输出二进制值。注意:输入数据为负数,应该将符号位输出女口-13结果 -1101Optio n Base
17、1Dim a()Private Function conv ert(y) As Stri ngDim i As In tegeri = 1ReDim a(i)x = Abs(y)Do While x 0ReDim Preserve a(i)a(i)=x Mod 2If a(i) = 1 The nx =(x - 1) / 2Elsex =x / 2End Ifi = i + 1 LoopReDim Preserve a(UBou nd(a)If y a(j) The n t = a(i): a(i) = a(j): a(j) = tEnd IfNextNextReDim Preserve a(
18、n)For i = 1 To nPrint a(i);NextEnd SubPrivate Sub Comma nd2_Click()Dim a() As In teger, n As In tegern = InputBox(请输入数列项数)ReDim a(n)For i = 1 To na(i) = In t(R nd * 10 * n + 1)Print a(i);NextPrintReDim Preserve a(n)For i = 1 To n - 1For j = 1 To n - iIf a(j) a(j + 1) The nt = a(j): a(j) = a(j + 1):
19、a(j + 1) = t End IfNextNextReDim Preserve a(n)For i = 1 To nPrint a(i);NextEnd SubPrivate Sub Form_Load()End Sub15. 编写程序,在窗体上输出3100之间的所有素数。要求每行显示4个数Private Sub Comma nd1_Click() Dim f As Boolea n, c As In teger For i = 3 To 100f = FalseFor j = 2 To In t(Sqr(i)If i Mod j = 0 Thenf = True: Exit ForEnd
20、 IfNextIf f = False The nPrint i;c = c + 1If c Mod 4 = 0 The nPrintEnd IfEnd IfNextEnd SubPrivate Sub Form_Load()End Sub16. 把文本框1、文本框2指定的范围内的所有素数添加到列表框中,并 选中列表框数据中最后一位是 9的所有数据(设定selected属性),把它们的和值 输出。Public a As In tegerPrivate Function fact(n) As LongIf n = 1 The nfact = 1ElseIf n = 2 The n fact =
21、1Else: fact = fact(n - 2) + fact(n - 1)End IfEnd FunctionPrivate Sub Comma nd1_Click()n = InputBox(请输入 n)Print fact( n)End SubPrivate Function s( n) As Longs1 = 1: s2 = 1For i = 1 To n - 2s = s1 + s2: t = s2: s2 = s: s1 = tNextEnd FunctionPrivate Sub Comma nd2_Click()n = InputBox(请输入 n)Print s(n)End
22、 Sub17. 编写2个函数,分别采用递归法和递推法求斐波纳契数列的第n个月的兔子数,n使用inputbox输入,调用函数的结果在窗体上显示。Private Sub Comma nd1_Click()List1.ClearDim i As In tegerFor i = Val(Text1.Text) To Val(Text2.Text)If isprime(i) = True The nList1.AddItem (i)c = c + 1If i Mod 10 = 9 The nList1.Selected(c - 1) = Trues = s + iEnd IfEnd IfNextPrin
23、t sEnd SubFunction isprime(n As In teger)isprime = TrueFor i = 2 To n - 1If n Mod i = 0 The n isprime = False Exit ForEnd IfNextEnd Fun cti on18 Dim sum As LongPrivate Sub Comma nd1_Click()Dim i As In teger, j As In teger, a(40) As Longa(1) = 1a(2) = 1For i = 3 To 40a(i) = a(i - 1) + a(i - 2)Next is
24、um = 0For j = 1 To 40sum = sum + a(j)Next jEnd SubPrivate Sub Comma nd2_Click()Ope n out18.txt For Output As #1Print #1,数列1, 1, 2, 3, 5, 8的前四十项的之和是:”Print #1, sumClose #1End Sub1. 百钱买百鸡Opti on ExplicitPrivate Sub Comma nd1_Click()Dim a As In teger, b As In tegerFor a = 1 To 34For b = 1 To 20If 3 * a
25、 + 5 * b + (100 - a - b) / 3 = 100 The nPrint a;Print b;Print 100 - a - bEnd IfNext bNext aEnd Sub2. 分钱作业Private Sub Comma nd1_Click()Dim a As Si ngle,b as si ngle,c as si ngle a = Text1.Textb = Fix(a / 100)Print 100 元:;Print bc = a - 100 * bPrint b c = c - b * 50b = Fix(c / 50) Print 50 元:b = Fix(c
26、 / 20) Print 20 元:;Print b c = c - 20 * b*b = Fix(c / 0.05) Print 0.05 元:;Print b c = c - 0.05 * bb = Fix(c + 0.005) / 0.02) Print 0.02 元:;Print b c = c - 0.02 * b b = Fix(c / 0.01) Print 0.01 元:;Print bEnd Sub3. 最大公约数、最小公倍数Opti on ExplicitPrivate Sub Comma nd1_Click()Dim a As In teger, b As In tege
27、r, c As In teger, t As In tegera = In putBox(请输入第一个数:)b = In putBox(请输入第二个数:)If a b The nc = bb = aa = cEnd Ift = a Mod bDo While t 0a = bb = tt = a Mod bLoopIf b = 1 The nMsgBox (无最大公约数)ElseMsgBox (最大公约数是:& b)End IfEnd SubPrivate Sub Comma nd2_Click()Dim a As In teger, b As In teger, c As In teger,
28、 t As In teger, m As In teger, n As In teger a = In putBox(请输入第一个数:) b = In putBox(请输入第二个数:)If a b The nc = bb = aa = cEnd Ift = a * bm = a Mod bDo While m 0a = bb = mm = a Mod bLoopn = t bMsgBox (最小公倍数是:& n)End Sub4. 输出九九表Opti on ExplicitPrivate Sub Comma nd1_Click()Dim a As In teger, b As In teger
29、PrintFor a = 1 To 9For b = 1 To aPrint Tab(b * 9); a & * & b; =; a * b;Next bPrintNext aEnd Sub5. 排序Opti on ExplicitOptio n Base 1Dim a(1 To 10) As In tegerPrivate Sub Comma nd1_Click()Dim i As In teger, j As In tegerRan domizeFor i = 1 To 10aaa:a(i) = In t(R nd() * 90 + 10)Forj = 1 Toi- 1If a(i) =
30、a(j) The n GoTo aaaEnd IfNext jNext iFor i = 1 To 10Print a(i);Next iPrintEnd SubPrivate Sub Comma nd2_Click()Dim i As In teger, j As In teger, t As In teger For i = 1 To 9Forj = 1 + iTo 10If a(i) a(j) The nt = a(j) a(j) = a(i) a(i) = tEnd IfNext jNext iFor i = 1 To 10Print a(i);Next iPrintEnd SubPr
31、ivate Sub Comma nd3_Click()Dim i As In teger, j As In teger, t As In teger For i = 1 To 9For j = 1 To 10 - iIf a(j) a(j + 1) The n t = a(j + 1) a(j + 1) = a(j) a(j) = tEnd IfNext jNext i15 / 19For i = 1 To 10Print a(i);Next iPrintEnd Sub6. 求平方根Opti on ExplicitPrivate Sub Comma nd1_Click()Dim a As Do
32、uble, b As Double, c As Double, i As Double a = 0c = Text1.Textb = cDo While Abs(a + b) / 2) A 2 - c) 10 A (-5)i = (a + b) / 2If i a 2 - c 0 The nb = iElself i a 2 - c = 0 The nExit DoElsea = iEnd IfLoopMsgBox (i)End Sub7闰年Opti on ExplicitPrivate Sub 计算 _Click()Dim i As In tegeri = InputBox(请输入一个年份)If i Mod 4 = 0 And i Mod 400 = 0 The nIf i Mod 100 0 ThenMsgBox NOTElseMsgBox YESEnd IfElseMsgBox NOTEnd IfEnd Sub8.三角Opti on ExplicitPrivate Sub Comma nd1_C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025浙江杭州上城区产业园发展有限公司招聘1人笔试模拟试题及答案解析
- 观看足球比赛观后感
- 2025年菁优高考生物解密之人体内环境与稳态
- 徐州汉隆耐磨材料有限公司农业机械、工程机械精密铸造件生产线技改提升项目环境影响报告表
- 青岛旅游心得
- 运动控制基础知识
- 2025如何进业主群及多场景吸粉培训课件
- 超市基础知识
- 如何制作蜜蜂课件
- 自动砂轮划片机技术要求-征求意见稿
- 2024年皖西卫生职业学院单招职业适应性测试题库及答案解析
- 品管圈PDCA案例-中医医院减少住院患者艾灸烫伤率医院改善成果汇报
- 部编人教版语文小学六年级下册第四单元主讲教材解读(集体备课)
- 运用PDCA循环降低住院患者雾化吸入的不规范率品管圈成果汇报
- 精品试题人教版八年级物理下册第十一章-功和机械能专题测试试卷(含答案详解)
- 发电机保养检查记录表
- 内悬浮内拉线抱杆分解组塔施工方案
- 冀教版三年级数学数据收集和整理
- 液化石油气安全技术说明书
- EN779-2012一般通风过滤器——过滤性能测定(中文版)
- 2022年城市轨道交通行车值班员三级考试题库(附答案)
评论
0/150
提交评论