




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计题1. 求1100之间所有的质数。Private Sub Command1_Click()Dim n%, i%, flag%, k%For n = 1 To 100 Step 2k = Int(Sqr(n)i = 2flag = 0Do While i 0 And n 0 ThenPrint 第一象限ElseIf m 0 ThenPrint 第二象限ElseIf m 0 And n 0 And n 0 ThenPrint 第四象限End IfEnd Sub8. 输入一串字符,统计各字母出现的次数(大小写不区分)。9. 从键盘输入5个整数,输出所有输入的数据和其中的最大数。Private Sub Command1_Click()Dim num(5) As IntegerDim i%, max%For i = 1 To 5 num(i) = InputBox(请输入第 & i & 个整数) If max num(i) Then max = num(i) Next Print 输入的5个数是: For i = 1 To 5 Print num(i): Next Print Print 最大整数是:; maxEnd Sub10. 利用文本框的常用属性,把Text1中选定的文本复制到Text2中去。11. 编程实现1200内6或5的倍数。12. 随机产生10个递增的100-400的随机数,存放到数组中,并显示结果。13. 已知x,y,z三个变量中存放了3个不同的数,比较它们的大小并进行调整,使得xy z。14. 已知x,y,z三个变量中存放了3个不同的数,比较它们的大小并进行调整,使得xyz。15. 假设我国有16亿人口,按人口年增长率r0.9计算,多少年后我国人口超过32亿,利用log()函数来计算。Private Sub Form_Click()x = 16n = 0Do While x 32x = x * 1.009n = n + 1LoopPrint n & 年后我国人口超过32亿Print 此时国家人口为 & xEnd Sub16. 假设窗体中有一标签Label1,通过Move方法编程实现该图在窗体中的左右移动,移动幅度为20单位。17. 编制程序,要求输入两个操作数和一个操作符(、/),根据操作符进行两个操作数的简单运算,并显示结果。Private Sub Command1_Click(Index As Integer)Dim num1!, num2!, result!num1 = Val(Text1.Text)num2 = Val(Text2.Text)Select Case IndexCase 0: result = num1 + num2: Text3.Text = resultCase 1: result = num1 - num2: Text3.Text = resultCase 2: result = num1 * num2: Text3.Text = resultCase 3: If num2 = 0 Then Text2.Text = Text3.Text = Text2.SetFocus Else Text3.Text = num1 / num2 End IfCase 4: If num2 = 0 Then Text2.Text = Text2.SetFocus Else Text3.Text = num1 num2 End IfEnd SelectEnd SubPrivate Sub Command2_Click()End SubPrivate Sub Command3_Click(Index As Integer)End Sub18. 已知List1中显示了若干课程名,要求用户用鼠标在该列表框中选择一个或多个选修课时,单击“显示”按扭可以在list2中显示用户选中的所有课程。19. 已知输入某课程的百分制成绩mark,要求显示对应五级制的评定,评定条件如下:等级优秀(90-100)、良好(80-90)、中等(70-80)、及格(60-70)和不及格(60分)。Private Sub Command1_Click()Dim valuevalue = InputBox(请输入成绩:)If value ThenSelect Case Val(value)Case 0 To 59MsgBox 你的成绩不及格Case 60 To 69MsgBox 你的成绩及格Case 70 To 79MsgBox 你的成绩中等Case 80 To 89MsgBox 你的成绩良好Case 90 To 100MsgBox 你的成绩优秀Case ElseMsgBox 输入的数值不合法,请重新输入End SelectEnd IfEnd Sub20. 在购买某物品时,若所花的钱x在下述范围内,所付钱y=x(x1000);y=0.9x(1000x2000);y=0.8x(2000x3000);y=0.7x(3000x4000);按对应折扣支付。编程求y值。 Private Sub Form_click()Dim x As Integer, y As Integerx = InputBox(请输入所花的钱数:)If x 1000 And x 2000 And x 3000 And x c And a + c b And b + c a And a = b Or a = c Or b = c ThenPrint 等腰三角形End IfIf a + b c And a + c b And b + c a And a 2 + b 2 = c 2 Or a 2 + c 2 = b 2 Or b 2 + c 2 = a 2 ThenPrint 直角三角形End IfIf a + b c And a + c b And b + c a And a = b = c ThenPrint 等边三角形End IfEnd Sub23. 试编写一个程序,允许用户输入数字,判断其是否大于或等于60分,如果大于等于60分,则输出“及格,否则输出“不及格”。要求:(1)用inputbox输入数字 (2)用Msgbox输出“及格”或“不及格”的结果。Private Sub Form_click()Dim a As Integera = InputBox(请输入数字:)If a = 60 ThenMsgBox 及格 End IfIf a c And a + c b And c + b a And a - b c And a - c b And b - c Max Then Max = a(i)If a(i) max Then max = n If p max Then max = p Print Print m; 、; n; 与; p; 之中最大值是: Print Print maxEnd Sub36. 税务部门征收所得税,规定如下:(1)收入200元以内,免征;(2)收入在200400元内,超过200元的部分纳税3%;(3)收入超过400元的部分,纳税4%;(4)当收入等于5000元或超过时,将4%税金改为5%。编程序实现上述操作.Private Sub Command1_Click()a = Val(Text1.Text)If a 200 Then b = 0ElseIf 200 a 400 Or a = 400 Thenb = 0.03 * (a - 200)ElseIf 400 a 5000 Or a = 5000 Thenb = 0.03 * 200 + 0.05 * (a - 400)End IfPrint bEnd Sub37. 随机产生20个学生的计算机课程的成绩,并显示。统计各分数段人数,即0-59,60-69,70-79,80-89,90-100,并显示结果。Private Sub Command1_Click()Dim a, b, c, d, e As Integera = 0b = 0c = 0d = 0e = 0For i = 1 To 20 m = Int(Rnd * 101 + 0) Print mSelect Case Val(m)Case 0 To 59 a = a + 1Case 60 To 69 b = b + 1Case 70 To 79 c = c + 1Case 80 To 89 d = d + 1Case 90 To 100 e = e + 1 End SelectNext iPrint a; b; c; d; eEnd Sub38. 假设窗体上有Text1,密码是“1234”。编制程序,实现密码校验。要求密码输入正确或错误时都给予提示。Private Sub Command1_Click()If Text1.Text Then If Text1.Text = 1234 Then MsgBox (密码正确,欢迎进入!)Else: MsgBox (密码错误,请重新输入!) End If End IfEnd Sub39. 用组合框对学生名单进行添加、修改和删除操作。Option ExplicitDim i Sub Form_Load() Combo1.AddItem 张三 Combo1.AddItem 李四 Combo1.AddItem 王二End SubPrivate Sub Combo1_Click()i = Combo1.ListIndexEnd SubPrivate Sub Command1_Click()Combo1.AddItem Combo1.TextCombo1.Text = End SubPrivate Sub Command2_Click()Combo1.RemoveItem Combo1.ListIndexEnd SubPrivate Sub Command3_Click()Combo1.List(i) = Combo1.TextEnd Sub40. 已知三角形三条边的边长a,b,c,编程求该三角形的面积M(M=根号下s(s-a)(s-b)(s-c) ,s=(a+b+c)/2)。Private Sub Command1_Click()Dim a, b, c As Doublea = InputBox(请输入第一条边边长:)b = InputBox(请输入第二条边边长:)c = InputBox(请输入第三条边边长:)s = (a + b + c) / 2i = s * (s - a) * (s - b) * (s - c)j = i (1 / 2)Print jEnd Sub41. 编写程序,使能输出如下图形。 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *Private Sub Command1_Click()For i = 1 To 5 Print Spc(i); For j = 1 To 6 Print Spc(1); *; Next j PrintNext iEnd Sub42利用数组编写程序,产生40个100以内的随机整数,统计4049有多少个数并输出。Private Sub Command1_Click()Dim a(1 To 40) As Integerb = 0For i = 1 To 40a(i) = Int(Rnd * 101+ 0)Print a(i);Select Case Val(a(i)Case 40 To 49 b = b + 1End SelectNext iPrint bEnd Sub43设计2个单选按钮,分别用来改变文本框中的字体为“宋体”,“黑体”。Private Sub Option1_Click()Text1.FontName = 宋体End SubPrivate Sub Option2_Click()Text1.FontName = 黑体End SubPrivate Sub Text1_Change()Text1.Text = VB程序设计End Sub44设计2个复选框,分别用来改变文本框中的字体为“”宋体,“黑体”。Private Sub Check1_Click()Text1.FontName = 宋体End SubPrivate Sub Check2_Click()Text1.FontBold = Not Text1.FontBoldEnd Sub45已知窗体上有文本框Text1,要求用InputBox方法实现半径的输入,并在Text1中求出圆的面积。Private Sub Command1_Click()Dim r As Integerr = InputBox(请输入圆的半径:)Text1.Text = 3.14 * r rEnd Sub46已知窗体上有文本框Text1和Text2,Text1用于输入圆的半径, 要求编程实现在Text2中求出圆的周长。Private Sub Command1_Click()Text2.Text = 2 * 3.14 * Text1End Sub1,下面程序对已知数组a,删除数组中数组元素中某个元素Private Sub Command1_Click()Dim a(), key%, i%, j%a = Array(1, 6, 8, 3, 5, 9, 10, 2, 7, 4)key = Val(InputBox(输入要删除的值)For i = 0 To UBound(a)If key = a(i) Then For j = i + 1 To UBound(a) a(j - 1) = a(j) Next j ReDim Preserve a(UBound(a) - 1) MsgBox (删除完成) Exit SubEnd IfNext iMsgBox (找不到要删除的元素)End Sub2,下列程序表示将输入的一个数插入到按递减的有序数列中,插入后使该序列仍有序Private Sub Form_Click()Dim a, i%, n%, m%a = Array(19, 17, 15, 13, 11, 9, 7, 5, 3, 1)n = UBound(a)ReDim Preserve a(n + 1)m = Val(InputBox(输入欲插入的数)For i = UBound(a) - 1 To 0 Step -1If m = a(i) Thena(i + 1) = a(i)If i = 0 Then a(i) = mElsea(i + 1) = mExit ForEnd IfNext iFor i = 0 To UBound(a) Print a(i)Next iEnd Sub3,下列程序在10009999之间查找满足如下条件的整数:该整数,逆向排列得到的另一个四位数是它自身的倍数(2倍以上)。查找结果和逆向排列数分别显示在对应的列表框Private Sub Command1_Click()Dim n As IntegerDim m As IntegerDim i As IntegerFor i = 1000 To 9999 m = 0 n = i Do While n 0 m = m * 10 + n Mod 10 n = n 10 Loop If m Mod i=0And m i 1 Then list1.AddItem i list2.AddItem m & = & i & * & m i End IfNext iEnd Sub4,将100150之间的偶数,拆分成两个素数之和,最后输出格式如图。其中,prime函数判断参数x是否为质数Private Function prime(ByVal x As Integer) As Booleanprime = tureFor i = 2 To Sqr(x) If x Mod i = 0 Then prime = False Exit Function End IfNext iEnd FunctionPrivate Sub Form_Load()i = 1For n = 100 To 150 For k = 3 To n / 2 If prime(k) And prime(n - k) Then Print i; :; =; k; +; n - kExit ForEnd If Next k i = i + 1Next nEnd Sub10,子过程F(N,M,T)对一个四位数n整整数判断:已知该整数n,逆向排列获得另一个4位数m是特自身的倍数,则t为true表示满足上述条件。Private Sub Command1_Click()Dim t As Boolean, i%, k%text1 = text2 = For i = 1000 To 9999 Call f(i, k, t) If t Then text1 = text1 & i & vbCrLf text2 = text2 & k & = & i & * & k i & vbCrLf End IfNext iEnd SubSub f(ByVal n%, ByRef m%, byreyftag As Boolean)Dim i%Tag = Falsem = 0i = nDo While i 0m = m * 10 + i Mod 10i = i 10LoopIf m Mod n = 0 And m n 1 Then Tag = TrueEnd IfEnd Sub6.8.子过程MoveStr()是把字符组移动m个位置, 当Tag为Ture是左移,则前m个字符一道字符数组尾,例如,“abcdefghij”左移3个位置后,结果为“defghijabc”;。Public Sub MoveStr(a $(),m%,Tag As Boolean) Dim i%, j%, t$ 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) - 1 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 Sub6.9.子过程CountN用来统计字符串中各数字字符(0-9)出现的个数;主调程序对在textbox1框输入的文本,每次单击“统计”按钮,调用该子过程,在Label1框显示结果。Private Sub Command1_Click() Dim n(9) As Integer, i% Call CountN(n(), text1.Text) list1.Clear For i = 0 To 9 If n(i) Then list1.AddItem 字符 & i & 出现的次数为 & n(i) NextEnd SubSub CountN(ByRef num%(), ByVal s As String) Dim c As String * 1, i%, m%, j% For i = 0 To 9 num(i) = 0 Next i m = Len(s) For i = 1 To m c = Mid(s, i, 1) If c = 0 And c 0 sn(i) = Val(Mid(str1, 1, j - 1) str1 = Mid(str1, j + 1) i = i + 1 j = InStr(str1, ,) Loop sn(i) = Val(str1) n = iEnd Sub1工程中有两个窗体form1和form2,一个标准模块module1,设在form1中定义了过程aa,在module1中定义了过程bb。Sub aa(x, y, z) z = x * x + y * yEnd SubSub bb(x, y, z) z = x 3 + y 3End Sub当在form1中单击命令按钮时,调用以上过程计算两个数的平方和和立方和,并分别将计算结果显示在文本框text3和text4中,请填空完成调用语句。Private Sub Command1_Click() a = Val(Text1.Text) b = Val(Text2.Text) Call aa(a,b,c1) Text3.Text = c1 bb a,b,c2 Text4.Text = c2End Sub2下面的程序用于根据文本框X中输入的内容进行以下处理:若X为2、4、6,则打印X的值为2、4、6;若X在11到15之间,则打印X的值为大于等于11小于等于15;若X大于20,则打印X的值大于20;否则,打印X不在范围内。Private Sub Command1_Click() Select Case Val(X.Text) Case 2,4,6 Print X的值为2,4,6 Case 11 to 15 Print X的值为大于等于11小于等于15 Case Is 20 Print X的值大于20 Case Else Print X不在范围内 End SelectEnd Sub3下面的程序是使用冒泡法对数组进行排序,请将程序补充完整。Option Base 1Private Sub Command1_Click() Dim iA(0 To 10) n = 6 iA(0) = 8: iA(1) = 6: iA(2) = 9: iA(3) = 3: iA(4) = 2: iA(5) = 7 For i= 1 To n - 1 进行n-1遍比较 对第i遍比较时,大数沉底 For j=1 to n-i 在数组 in个元素中选最小元素的下标 If iA(j) iA(j+1) Then t = iA(j) iA(j) = iA(j + 1) iA(j + 1) = t End If Next jEnd Sub4 程序的功能是使用辗转相除法求两个数的最大公约数。Private Sub Command1_Click() Dim m%, n% m = Int(InputBox(input an integer) n = Int(InputBox(input another integer) Print gcd(m, n)End SubPublic Function gcd%(m%, n%) Dim t% If mn Then t = m: m = n: n = t Do r = m Mod n If r = 0 Then Exit Do m = n n=r Loop gcd = nEnd Function5、输入任意长度的字符串,要求将字符顺序倒置,例如,将输入的“ABCDEF”变换成“FEDCBA”。请将程序补充完整。Private Sub Command1_Click() Dim a$, i%, c$, n% n存放字符串的长度 a = InputBox(input a string) n = Len(a) For i = 1 To Int(n / 2) c = Mid(a, i, 1) Mid(a, i, 1) = Mid(a,n-i+1,1) Mid(a, n - i + 1, 1) = c Next iEnd Sub6、下面的程序允许用户按Enter(回车)键后,将组合框中没有的项目添加到组合框。请将程序补充完整。Private Sub Combo1_KeyPress(KeyAscii As Integer)Dim flag As BooleanIf KeyAscii = 13 Then flag = False For i = 0 To Combo1.ListCount - 1 查找项目是否已存在 If combo1.text=combo1.list(i) Then flag = True Exit For End If Next i If flag = False Then 不存在则添加 combo1.AddItem combo1.Text End IfEnd IfEnd Sub7、下面的程序是使用选择法对数组进行升序排列,请将程序补充完整。Option Base 1Private Sub Command1_Click() Dim iA(1 To 10) n = 6 iA(1)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 顾客咨询方案范文大全
- 建筑模板工程安装方案设计
- 办公建筑渲染方案设计
- 咨询室开业营销方案
- 高层门窗淋水施工方案
- 外贸营销咨询方案模板
- 有轨巷道堆垛机施工方案
- 飘窗改造方案咨询
- 咨询年度方案模板
- 少儿阅读打卡活动方案策划
- 2025年未来就业报告
- 使用吹风机课件
- 安检流程课件
- 宠物经济下的宠物食品包装创新研究报告:2025年市场潜力分析
- 中国未来50年产业发展趋势白皮书(第四期)
- 2025年关于广告设计合同格式范本
- 临床基于MDT平台下的“5A”护理模式在改善脑卒中后顽固性呃逆患者中应用
- 基础电工安全培训课件
- 2025年财会类资产评估师资产评估基础-资产评估基础参考题库含答案解析(5卷)
- 公安宣传打击黄赌毒课件
- 法律顾问合同协议书模板
评论
0/150
提交评论