对口计算机高职单招VB编程练习题及答案_第1页
对口计算机高职单招VB编程练习题及答案_第2页
对口计算机高职单招VB编程练习题及答案_第3页
对口计算机高职单招VB编程练习题及答案_第4页
对口计算机高职单招VB编程练习题及答案_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业计算机高职单招VB编程练习题练习一 数据的输入输出以下程序代码在窗体的单击事件过程(Form_click)中编写,结果输出到窗体上。1、从键盘上输入4个数,编写程序,计算并输出这4个数的和及平均值。通过inputbox函数输入数据,在窗体上显示和及平均值。Private Sub Form_Click() a = InputBox(输入第一个数) a = Val(a) b = InputBox(输入第二个数) b = Val(b) c = InputBox(输入第三个数)

2、 c = Val(c) d = InputBox(输入第四个数) d = Val(d) Sum = a + b + c + d aver = Sum / 4 Print 所输入的4个数分别为:; a; b; c; d Print 4个数的和为:; Sum Print 4个数的平均值为:; averEnd Sub2、编写程序,要求用户输入下列信息:姓名、年龄、通信地址、邮政编码、电话,然后将输入的数据用适当的格式在窗体上显示出来。Private Sub Form_Click() n$ = InputBox(请输入您的姓名) Age$ = InputBox(请输入您的年龄) Addr$ = Inp

3、utBox(请输入通信地址) Pos$ = InputBox(请输入邮政编码) Tel$ = InputBox(请输入电话号码) Print Print Tab(6); 姓名; Space$(3); 年龄; Space$(3); 通信地址; _ Space$(5); 邮政编码; Space$(3); 电话号码 Print Print Tab(5); n$; Space$(3); Age$; Space$(3); Addr$; _ Space$(3); Pos$; Space$(3); Tel$ End Sub3、编写程序,求解鸡兔同笼问题。一个笼子中有鸡X只,兔Y只,每只鸡有2只脚,每只兔有4

4、只脚,今知鸡和兔的总头数为H,总脚数为F。问笼中鸡和兔各若干?提示:根据数学知识,可以写出如下的联立方程式:XYH(1)2X4YF(2)(2)式2*(1)式:2YF2H故Y(F2H)/24*(1)(2)式:2X4HF故X=(4HF)/2可按上式编写程序。用inputbox函数输入H和F的值,设H71,F158,请编写程序并上机运行。Private Sub Form_Click() h = InputBox(请输入鸡和兔的总的头数) h = Val(h) f = InputBox(请输入鸡和兔的总的脚数) f = Val(f) y = (f - 2 * h) / 2 x = (4 * h - f

5、) / 2 Print 笼中有鸡; x; 只,兔; y; 只 End Sub4、设a=5,b=2.5,c=7.8,编程计算:Ypi*ab/(a+b*c)。y=3.14*a*b/(a+b*c)Private Sub Form_Click() a = 5: b = 2.5: c = 7.8 y = (3.1416 * a * b) / (a + b * c) Print y=; yEnd Sub程序运行后,单击窗体,输出结果为:y=1.7145、输入以秒为单位表示的时间,编写程序,将其换算成几日几时几秒。Private Sub Form_Click() Dim Second, Minute, Ho

6、ur, Day As Long Dim Second1 As Long Second = InputBox(请输入秒数) Second = Val(Second) Second1 = Second Minute = Int(Second / 60) Second = Second Mod 60 Hour = Int(Minute / 60) Minute = Minute Mod 60 Day = Int(Hour / 24) Hour = Hour Mod 24 Print Second1; 秒=; Day; 天; Hour; 小时; Minute; 分; Second; 秒End Sub6

7、、自由落体位移公式为:s1/2gt2+vt,其中V为初始速度,g为重力加速度,t为经历程的时间,编写程序,求位移量s。设v=4.8m/s,t=0.5s,g=9.81m/s2,在程序中把g定义为符号常量,用inputbox函数输入v和t两个变量的值。Private Sub Form_Click() Const g = 9.81 V = InputBox(Please input V:) T = InputBox(Please input T:) s = 1 / 2 * g * T 2 + V * T Print 位移量为:; sEnd Sub程序运行后,单击窗体,输出结果为:位移量为:3.626

8、25练习二 常用标准控件1、在窗体上画4个图像框和一个文本框,在每个图像框中装入一个箭头图形,分为4个不同的方向,把文本框的multiline属性设置为true。编写程序,当单击某个图像框时,在文本框中显示相应的信息。例如,单击向右的箭头时,在文本框中显示“单击向右箭头”。程序如下:Private Sub Form_Load() Image1.Picture = LoadPicture(c:vb98GraphicsIconsarrowsarw04up.ico) Image2.Picture = LoadPicture(c:vb98GraphicsIconsarrowsarw04dn.ico )

9、 Image3.Picture = LoadPicture(c:vb98GraphicsIconsarrowsarw04lt.ico ) Image4.Picture = LoadPicture(c:vb98GraphicsIconsarrowsarw04rt.ico )End SubPrivate Sub image1_Click() Text1.Text = 单击向上箭头End SubPrivate Sub image2_Click() Text1.Text = 单击向下箭头End SubPrivate Sub image3_Click() Text1.Text = 单击向左箭头End S

10、ubPrivate Sub image4_Click() Text1.Text = 单击向右箭头End Sub2、在窗体上建立3个文本框和一个命令按钮。程序运行后,单击命令按钮,在第一个文本框中显示由command1_click事件过程设定的内容(例如“Microsoft Visual Basic”),同时在第二、第三个文本框中分别用小写字母和大写字母显示第一个文本框中的内容。(提示:用第一个文本框的Change事件过程在第二、三个文本框中显示指定的内容)在窗体上画3个文本框和1个命令按钮,把命令按钮的标题设置为“显示”,然后编写如下程序:Private Sub Command1_Click(

11、) Text1.Text = Microsoft Visual BasicEnd SubPrivate Sub Text1_Change() Text2.Text = LCase(Text1.Text) Text3.Text = UCase(Text1.Text)End Sub3、编写程序,用文本框检查口令输入。在窗体上画1个文本框、1个图片框和3个命令按钮,把文本框的PasswordChar属性设置为“*”,把3个命令按钮的标题分别设置为“开始”、“检查口令”和“结束”。程序运行后,单击第一个命令按钮,清除文本框中的信息,并把光标移到文本框中,接着在文本框中输入口令,然后单击第二个命令按钮,

12、检查输入的口令是否正确。如果正确,则在图片框中显示一个图形,否则显示一个信息框,要求重新输入,此时将调用第一个命令按钮的Click事件过程,再一次在文本框中输入口令,直到输入正确的口令为止。如果单击“结束”按钮,则结束程序。Private Sub Command1_Click() Text1.Text = Text1.SetFocusEnd SubPrivate Sub Command2_Click() If Text1.Text = Then Picture1 = LoadPicture(c:vb98graphicsmetafilearrows3darrow4.wmf) MsgBox 口令正

13、确,继续执行, , Else MsgBox 口令不对,请重新输入, , Command1_Click 调用事件过程Command1_click End IfEnd SubPrivate Sub Command3_Click() EndEnd Sub4、用图形编辑软件(如Windows下的“画图”)画一个简单的图形,然后把它装入图片框。解答:略5、编写程序,演示列表框控件的基本操作。在窗体上建立两个列表框,两个命令按钮。程序运行后,在第一个列表框中选择所需要的项目,单击“添加”按钮,可把所选择的项目移到第二个列表框中。如果单击“删除”按钮,则执行相反的操作。在第二个列表框中,允许同时选择多个项目

14、。要求在每个列表框的下面用标签控件显示各自的Style和Sorted属性。解答:在窗体上建立两个列表框,两个命令按钮,其Name属性分别为List1,List2,cmdAdd,cmdDel。其中,List1采用默认配置,List2的Sorted属性设置为True,Style属性设置为复选框形式。再建立四个标签,Caption属性分别为Style=Standard、Sorted=False、Style=Checkbox、Sorted=true。编写如下代码:Private Sub cmdAdd_Click()If List1.ListIndex = 0 Then List2.AddItem Li

15、st1.Text List1.RemoveItem List1.ListIndexEnd IfEnd SubPrivate Sub cmdDel_Click()Dim I As IntegerIf List2. SelCount = 1 Then List1.AddItem List2.Text List2.RemoveItem List2.ListIndexElseIf List2.SelCount 1 Then For I = List2.ListCount-1 To 0 Step- 1 If List2.Selected(I) Then List1.AddItem List2.List(

16、I) List2.RemoveItem I End If NextEnd IfEnd SubPrivate Sub Form_Load()List1.AddItem 中国List1.AddItem 日本List1.AddItem 马来西亚List1.AddItem 美国List1.AddItem 德国List1.AddItem 法国List1.AddItem 英国End Sub 程序运行后,单击“添加”按钮,将把List1中的所选项移到List2中,然后删除List1中所选项目。单击“删除”按钮,将检查SelCount属性。如果选择了一个项目,则将这个项目移回List1中,如果选择了多个项目,

17、则由后向前扫描List2,将每个选择的项目移回到List1中。6、编写程序,用计时器按秒计时。在窗体上画一个计时器控件和一个标签,程序运行后,在标签内显示经过的秒数,并响铃。解答:在窗体上画1个计时器控件和1个标签,其Name属性分别为Timer1和Label1,并把计时器的Interval属性设置为1 000,然后编写如下事件过程:Private Sub Form_Load() Label1.FontSize = 16End SubPrivate Sub Timer1_Timer() Static c As Integer c = c + 1 Label1.Caption = Str$(c)

18、 BeepEnd Sub程序运行后,将在标签内显示经过的秒数,并响铃。7、在窗体上画一个文本框和两个命令按钮,并把两个命令按钮的标题分别设置为“隐藏文本框”和“显示文本框”。当单击第一个命令按钮时,文本框消失;而当单击第二个命令按钮时,文本框重新出现,并在文本框中显示“VB程序设计”(字体大小为16)。运行该程序。Private Sub Command1_Click()Text1.Visible = FalseEnd Sub Private Sub Command2_Click()Text1.FontSize = 16Text1.Visible = TrueText1.Text = VB 程序

19、设计End Sub7、编写程序,计算对两个数进行加、减、乘、除所得的各、差、积、商。在窗体上画3个标签和3个文本框,然后建立一个包含4个命令按钮的控件数组。Private Sub Form_Load()Label1.Caption = 运算数1Label2.Caption = 运算数2Label3.Caption = =Label3.Alignment = 2Command1(0).Caption = +Command1(1).Caption = -Command1(2).Caption = *Command1(3).Caption = /Text1.Text = Text2.Text = T

20、ext3.Text = End SubPrivate Sub Command1_Click(index As Integer) Select Case index Case 0 Text3.Text = Str(Val(Text1.Text) + Val(Text2.Text) Case 1 Text3.Text = Str(Val(Text1.Text) - Val(Text2.Text) Case 2 Text3.Text = Str(Val(Text1.Text) * Val(Text2.Text) Case 3 If Val(Text2.Text) = 0 Then MsgBox 除数

21、不能为0, , 错误 Exit Sub Else Text3.Text = Str(Val(Text1.Text) / Val(Text2.Text) End If End SelectEnd Sub8、使用滚动条来改变窗体的颜色。三个滚动条的Max:255 Min:0Private Sub HScroll1_Change() Form1.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value)End SubPrivate Sub HScroll2_Change() Form1.BackColor = RGB(HScroll

22、1.Value, HScroll2.Value, HScroll3.Value)End SubPrivate Sub HScroll3_Change() Form1.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value)End Sub练习三 Visual Basic控制结构方法二:Private Sub Form_Click() Dim Sum As Integer i = 1方法二:Private Sub Form_Click() Dim Sum As Integer i = 1 While i = 100 Sum =

23、Sum + i i = i + 1 Wend Print SumEnd Sub方法一:Private Sub Form_Click() Dim Sum As Integer For i = 1 To 100 Sum = Sum + i Next i Print SumEnd Sub2、我国现有人口为12亿,设年增长率为1%,编写程序,计算多少年后增加到20亿。Private Sub Form_Click()Dim p As DoubleDim r As SingleDim n As Integerp = r = 0.01While p p = p + p * r n = n + 1Wendp

24、= Int(p)Print n; 年后我国人口达到:; p; 亿End Sub3、给定三角形的3条边长,计算三角形的面积。编写程序,首先判断给出的3条边能否构成三角形,如可以构成,则计算并输出该三角形的面积,否则要求重新输入。当输入-1时结束程序。Private Sub Form_Click()Dim a As Single,b As Single,c As Single,s As single,t As singleDo a = InputBox(请输入A边的边长) b = InputBox(请输入B边的边长) c = InputBox(请输入C边的边长) If a = -1 Or b =

25、-1 Or c = -1 Then End If a + b = c Or b + c = a Or c + a = b Then MsgBox (所输入的值不能构成三角形,重新输入) Else Exit Do End IfLoops = (a + b + c) / 2t = Sqr(s * (s - a) * (s - b) * (s - c)Print 三角形面积为:, tEnd Sub4、税务部门征收所得税,规定如下:(1)收入在200元以内,免征;(2)收入在200400元,超过200元的部分纳税3%;(3)收入在400元的部分,纳税4%;(4)当收入在5000元或超过时,将4%税金改

26、为5%。编程序实现上述操作。Private Sub Form_Click()Dim r As Singler = InputBox(请输入你的收入)If r 200 And r 400 And r = 5000 Then tax = (r - 400) * 0.05End IfPrint 收入; r; 应纳税:, taxEnd Sub5、假定有以下每周工作安排:星期一、三:讲计算机课星期二、四:讲程序设计课星期五:进修英语星期六:政治学习星期日:休息试编写一个程序,对上述工作日程进行检索。程序运行后,要求输入一周里的某一天,程序将输出这一天的工作安排。在输入时用06分别代表星期日到星期六,如果

27、输入06之外的数,则程序结束运行。Private Sub Form_Click() Do Work = InputBox$(请输入一周里的某一天:) Select Case Work Case 1, 3 Print 星期一、三:讲计算机课 Case 2, 4 Print 星期二、四:讲程序设计课 Case 5 Print 星期五:进修英语 Case 6 Print 星期六:学习政治 Case 0 Print 星期日:休息 Case Else Print 输入错误,退出 Exit Do End Select Loop EndEnd Sub6、编写程序,打印如下所示的“数字金字塔”。11 2 11

28、 2 3 2 11 2 3 4 3 2 11 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1Private Sub Form_Click()For i = 1 To 9For For j = 1 To 30 - 3 * iPrint 1个空格 Print ; 3个空格 Next j For k = 1 To i Print k; Next k For k = i - 1 To 1 Step -1 Print k; Next k PrintNext iEnd Sub7、勾股定理中3个数的关系是:a2+b2=c2。编写程序,输出30以内满足上述关系的整数组合,例如3、4、5就是一个

29、整数组合。Private Sub Form_Click()Print a, b, c, a*a, b*b, c*cPrintFor a = 1 To 30 For b = 1 To 30 For c = 1 To 30 If a * a + b * b = c * c Then Print a, b, c, a * a, b * b, c * c End If Next c Next bNext aEnd SubPrivate Sub Form_Click()Dim mPrivate Sub Form_Click()Dim m As Integer, n As Integerm = Input

30、Box(请输入M的值)m1 = mn = InputBox(请输入N的值)n1 = nr = m Mod nWhile r 0 m = n n = r r = m Mod nWendPrint m1; 和; n1; 的最大公因子是:; nEnd Sub求M和N的最大公因子。Private Sub Form_Click()Dim m As Integer, n As Integerm = InputBox(请输入M的值)m1 = mn = InputBox(请输入N的值)n1 = nWhile n 0 r = m Mod n m = n n = rWendPrint m1;和; n1;的最大公因

31、子是:; mEnd Sub该程序通过辗转相除法求两个正整数的最大公因子。9、如果一个数的因子之和等于这个数本身,就称这样的数为“完全数”。例如,整数28的因子为1、2、4、7、14,其和1+2+4+7+14=28,因此28是一个完全数。试编写一个程序,从键盘上输出正整数N和M(N 1 Then Print k0; k1; If n 2 Then Print k2; If n 3 Then Print k3; If n 4 Then Print k4; If n 5 Then Print k5; If n 6 Then Print k6 If n 7 Then Print k7; If n 8

32、Then Print k8; If n 9 Then Print k9; Print End IfNext jEnd Sub10、编写程序,打印如下的乘积表(将每行的数字分别与每列的数字相乘,并将乘积填入相应位置)。*369121415161718Private Sub Form_Click()Print *; Tab(9); 3, Tab(18); 6; Tab(27); 9; Tab(36); 12PrintFor i = 14 To 18 Print i; For j = 3 To 12 Step 3 Print Tab(3 * j); j * i; Next j PrintNext i

33、End Sub11、从键盘上输入一个学生的学号和考试成绩,然后输出该学生的学号和成绩,并根据成绩按下面的规定输出对该学生的评语。成绩 80100 6079 5059 4049 039评语 Very good Good Fair Poor FailPrivate Sub Form_Click()n = InputBox(请输入学号)s = InputBox(请输入分数)If s = 80 Then x = 学号: + n + ,分数: + s + ,very good MsgBox (x)ElseIf s = 60 And s = 50 And s = 40 And s = 0 And s 0.

34、00001 e = e + t i = i + 1 n = n * i t = 1 / n Loop Print 计算了 ; i; 项的和是 ; eEnd Sub15、有一根长度为321米的钢材料,要将它截取成两种规格的短料,规格a、b的长度分别为17米和27米,每种至少1段,分隔成a、b各多少段后,剩余的残料r是多少?Private Sub Form_click()Dim a%, b%, r!, ia%, ib%, t!r = 321For b = 1 To (321 - 17) 27 For a = 1 To (321 - b * 27) 17 t = 321 - b * 27 - a *

35、 17 If t = 0 And t =3)是否为素数。方法一:Private Sub Form_Click()Dim n As Integern = InputBox(请输入一个正整数(=3)k = 0For i = 2 To Sqr(n)If n Mod i = 0 Then k = 1Next iIf k = 0 ThenPrint n; 是一个素数ElsePrint n; 不是素数End IfEnd Sub方法二:Private Sub Form_Click() Dim n As Integer n = InputBox(请输入一个正整数(=3) k = Int(Sqr(n) i =

36、2 swit = 0 While i = k And swit = 0 If n Mod i = 0 Then swit = 1 Else i = i + 1 End If Wend If swit = 0 Then Print n; 是一个素数 Else Print n; 不是素数 End IfEnd Sub18、编写程序,输出100-300之间的所有素数。方法一:Private Sub Form_Click() For n = 101 To 300 Step 2 k = 0 For i = 2 To Sqr(n) If n Mod i = 0 Then k = 1 Next i If k

37、= 0 Then d = d + 1 If d Mod 5 = 0 Then Print n; ; Print Else Print n; ; End If End If Next nEnd Sub方法二:Private Sub Form_Click() For n = 101 To 300 Step 2 k = Int(Sqr(n) i = 2 swit = 0 While i y Then w = x: x = y: y = w 将x,y中的小数存放于x中 If x z Then w = x: x = z: z = w x中存放x,z中小数,x为最小数 If y z Then w = y:

38、 y = z: z = w y中存放y,z中的小数 Print x, y, z 在窗体上按从小到大的顺序输出x,y,z的值End Sub21、将学生成绩的百分制转换成A、B、C、D、E等级制。Private Sub Form_Click() score = InputBox(please input score 的值) If score 90 Then grade = A ElseIf score = 80 Then grade = B ElseIf score = 70 Then grade = C ElseIf score = 60 Then grade = D Else grade =

39、E End If Print 你的等级是: & grade 在窗体上打印出grade的值End Sub22、将上题改用Select Case语句实现。Private Sub Form_Click() score = InputBox(please input score 的值) Select Case score Case Is = 90 Grade = A Case 80 To 89 Grade = B Case 70 To 79 Grade = C Case 60 To 69 Grade = D Case Else Grade = E End Select Print 你的等级是: & G

40、rade 在窗体上打印出grade的值End Sub22、按正序和反序输出26个大写英文字母。分析:用整型变量i表示循环变量,大写英文字母与i之间对应关系可用Chr 函数转换,字母“A”的ASCII序号为65。正序和反序输出可分别用For语句的步长为(递增)和步长为(递减)来实现。Private Sub Form_Click() Dim i As Integer For i = 1 To 26 正序输出26个大写英文字母 Print Chr(64 + i); A的ASCII序号为65 Next i Print 换行 For i = 26 To 1 Step -1 反序输出26个大写英文字母 P

41、rint Chr(64 + i); Next iEnd Sub23、编程计算累乘积超过1000的最小i值(P=1*2*3.*i)方法一:Private Sub Form_click()P = 1: i = 1Do While P 1000Print iEnd Sub24、编程打印以下字母三角形: a a b a b c a b c d . a b c . k l m分析:字母三角形共13行,每行数据值按字母顺序输出。Private Sub Form_Click()For i = 1 To 13 输出13行 Print Tab(30 - 2 * i); 定位每行输出的位置 For j = 1 T

42、o i 每行输出的个数 Print Chr$(96 + j); ; 三个空 Next j PrintNext iEnd Sub25、判断输入的是大写字母、小写字母、数字还是其它符号。方法一:Private Sub Form_Click() Char = InputBox(输入一个字符, 测试) If Char = 0 And Char = A And Char = a And Char = 0 If x amax Then amax = x End If If x amin Then amin = x End If x = InputBox(请输入分数) Loop Print 最高分数是:;

43、amax, 最低分数是:; aminEnd Sub27、设计一个程序,从键盘上输入学生的分数,程序可以计算并输出及格(大于或等于60分)、不及格人数及总平均分数。分析:在窗体上画3个标签,3个文本框和3个命令按钮。其属性设置如下表:控件名称(Name)标题(caption)文本(text)上标签中标签下标签上文本框中文本框下文本框左命令按钮中命令按钮右命令按钮Label1Label2Label3Text1Text2Text3Command1Command2Command3及格人数不及格人数平均分数无无无输入并计算显示结果退出无无无空白空白空白无无无在窗体层声明如下变量:Dim n As Sin

44、gle,n1 As SingleDim n2 As Single,score As SingleDim total As Single编写如下3个事件过程:Private Sub command1_click() msg$ = 请输入分数(-1结束) msgtitle$ = 输入数据start: score = InputBox(msg$, msgtitle$) If score 100 Then GoTo finish Else total = total + score n = n + 1 If score 60 Then n1 = n1 + 1 Else n2 = n2 + 1 End

45、If End If GoTo startfinish:End SubPrivate Sub Command2_Click() Text1.Text = Str$(n2) Text2.Text = Str$(n1) Text3.Text = Str$(total / n)End SubPrivate Sub Command3_Click()n = 0n1 = 0n2 = 0total = 0EndEnd Sub假定输入以下数据:50 55 60 65 70 75 80 85 90 95 100 1 则程序的执行结果如下图所示。28、编写程序,输出“水仙花”数“水仙花”数是一个三位数,其各位的立方

46、和等于该数。例如:153=13+53+33因此153是一个“水仙花”。分析:设三位数N的百位数、十位数、个位数分别为a,b,c,则有a=n100b=(n10)mod 10c=n mod 10程序如下:Private Sub Form_Click() Dim n As Integer, g As Integer Dim a As Integer, b As Integer, c As Integer For n = 100 To 999 a = n 100 b = (n 10) Mod 10 c = n Mod 10 d = a 3 + b 3 + c 3 If n = d Then g = g

47、 + 1 Print d End If Next n Print 共有; g; 个水仙花数End Sub29、搬砖问题。36块砖,36人搬,男搬4,女搬3,两个小孩抬一砖,要求一次全搬完,问男、女、小孩各需若干?分析:男人的可能取值范围为08,女人的可能取值范围为011,小孩的可能取值范围为036。采用穷举法,首先考虑men分别取08的值时,找符合题意的women、childs,然后考虑当women取011的值时,找符合题意的childs。当men和women已知后,childs=36-women-men如果该childs满足条件:4*men+3*women+childs/2=36 则找到了一

48、组解。程序如下:Private Sub Form_Click() Dim men As Integer, women As Integer Dim childs As Integer men = 0 While men 9 men = men + 1 women = 0 While women 12 women = women + 1 childs = 36 - women - men If 4 * men + 3 * women + childs / 2 = 36 Then Print 男人需要; men; 个 Print 女人需要; women; 个 Print 小孩需要; childs;

49、 个 End If Wend WendEnd Sub30、编程计算1-2+3-4+5-6+.+n的值,其中n由文本框输入 。方法1:(在窗体上先画一文本框text1)Private Sub Command1_Click()方法2方法2:Private Sub Command1_Click()Dim n%, i%, s%n = CInt(Text1)s = 0For i = 1 To n s = s + (-1) (i - 1) * iNext iText2 = sEnd Subn = CInt(Text1)s = 0For i = 1 To nIf i Mod 2 0 Thens = s +

50、iElses = s - iEnd IfNext iText2 = sEnd Sub31、编程计算20-21+22-23+.+210的值.Private Sub Form_Click()Dim s%, i%s = 0For i = 0 To 10 s = s + (-1) i * 2 iNext iPrint s=; sEnd Sub32、编程计算11+22+33+44+.+99+1010的值。Private Sub Form_Click()Dim s!, i%s = 0For i = 1 To 10 s = s + i iNext iPrint s=; sEnd Sub33、编程计算1/1*

51、2+1/2*3+1/3*4+1/4*5+.+1/n*(n+1)的值,其中n=20。Private Sub Form_Click()Dim s!, i%, p!s = 0For i = 1 To 20 s = s + 1 / i * (i + 1) 不能写成1/(i+1)*iNext iPrint s=; sEnd Sub34、e=1+1/1!+1/2!+1/3!+.+1/n!,计算e的值(精确到10 -6 )。Private Sub Form_Click()Dim e#, i%, p&e = 1: i = 1: p = 1Do Until 1 / p 10 -6 不断循环,直到单项1/n!小于

52、106e = e + 1 / pi = i + 1p = p * i p为i的阶乘i!LoopPrint e=; eEnd Sub35、编程找出三个三位数,它们分别为某个二位数的平方,且每个三位数的每位数字各不相同。Private Sub Form_Click()Dim i%, j%, k%, k1%, k2%, k3%, n1%, n2%平方为三位数的二位数有10-31n1 = 0For i = 10 To 31j = i 2 J为一个等于一个二位数平方的三位数k1 = j 100 三位数的百位数k2 = (j Mod 100) 10 十位数,也可以写成k2 = j 10 mod 10k3

53、= j Mod 10 个位数If k1 k2 And k1 k3 And k2 k3 Then Print 找到一个; j; =; i; 2; k1; k2; k3 n1 = n1 + 1If n1 = 3 Then Exit ForEnd IfNext iEnd Sub36、从键盘输入一整数(个位不为0),倒序输出。Private Sub Form_click() Dim m As Double, n As Double n = InputBox(请输入一个整数) Do While n 0 m = m * 10 + n Mod 10 n = n 10 Loop Print m=; mEnd

54、Sub练习四 数组1、从键盘上输入10个整数,并放入一个一维数组中,然后将其前5个元素与后5个元素对换,即:第1个元素与第10个元素互换,第2个元素与第9个元素互换第5个元素与第6个元素互换。分别输出数组原来各元素的值和对换后各元素的值。Option Base 1 Private Sub Form_Click() arr = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) Print 原来数组: For i = 1 To 10 Print arr(i); Next i Print For i = 1 To 5 For j = 6 To 10 t = arr(i) ar

55、r(i) = arr(j) arr(j) = t Next j Next i Print 对换后数组: For i = 1 To 10 Print arr(i); Next iEnd Sub2、设有如下两组数据。(1)2,8,7,6,4,28,70,25(2)79,27,32,41,57,66,78,80编写一个程序,把上面两组数据分别读入两个数组中,然后把两个数组中对应下标的元素相加,即2+79,8+27,2580,并把相应的结果放入第三个数组中,最后输出第三个数组的值。Option Base 1Private Sub Form_Click() Dim A, B, C(8) As Integ

56、er A = Array(2, 8, 7, 6, 4, 28, 70, 25) B = Array(79, 27, 32, 41, 57, 66, 78, 80) For i = 1 To 8 C(i) = A(i) + B(i) Next i Print 第一个数组为:; For i = 1 To 8 Print A(i); Next i Print Print 第二个数组为:; For i = 1 To 8 Print B(i); Next i Print Print 第三个数组为:; For i = 1 To 8 Print C(i); Next i PrintEnd Sub3、有一个n

57、m的矩阵,编写程序,找出其中最大的那个元素所在的行和列,并输出其值及行号和列号。Option Base 1Private Sub Form_Click() Dim Mat() As Integer Dim N, M As Integer N = InputBox(请输入矩阵的行数) M = InputBox(请输入矩阵的列数) ReDim Mat(N, M) As Integer For i = 1 To N For j = 1 To M Mat(i, j) = InputBox(请输入数组第 & Str(i) & 行第 & Str(j) & 列元素值) Next j Next i Print

58、 所建立的矩阵为: For i = 1 To N For j = 1 To M Print Mat(i, j); ; Next j Print Next i Max = Mat(1, 1) For i = 1 To N For j = 1 To M If Max Mat(i, j) Then Max = Mat(i, j) col = j row = i End If Next j Next i Print Print 矩阵最大的元素的值为:; Mat(row, col) Print 它所在的行号为:; row; ,列号为:; colEnd Sub4、编写程序,把下面的数据输入一个二维数组中。

59、25367813122688937518223256443658然后执行以下操作:输出矩阵两个对角线上的数;分别输出各行和各列的和交换第一行和第三行的位置;交换第二列和第四列的位置;输出处理后的数组。Option Base 1Private Sub Form_Click() Dim Mat(4, 4) As Integer Dim N, M As Integer N = 4 M = 4 Rem 输入矩阵 For i = 1 To N For j = 1 To M Mat(i, j) = InputBox(请输入数组第 & Str(i) & 行第 & Str(j) & 列元素值) Next j

60、Next i Rem 输出原始矩阵 Print Print 初始矩阵为: Print For i = 1 To N For j = 1 To M Print Tab(6 * j); Mat(i, j); Next j Print Next i Rem 输出矩阵对角线上的数 Print Print 矩阵对角线上的数为: Print For i = 1 To N For j = 1 To M If i = j Then Print Tab(6 * j); Mat(i, j); End If Next j Next i Rem 输出各行和各列的和 Print Print 各行的和依次为: Print

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论