习题3—4 (P126)Private Sub Command1_Click()Image1.Width = Image1.Width * 1.2Image1.Height = Image1.Height * 1.2End SubPrivate Sub Command2_Click()Image1.Width = Image1.Width / 1.2Image1.Height = Image1.Height / 1.2End SubPrivate Sub Command3_Click()Image1.Width = Form1.WidthImage1.Height = Form1.HeightEnd SubPrivate Sub Form_Load()Image1.Left = 0Image1.Top = 0Image1.Picture = LoadPicture(App.Path & "\back.jpg") End Sub习题3—5 (P126)Dim mleft As LongPrivate Sub Command1_Click()Timer1.Enabled = TrueEnd SubPrivate Sub Command2_Click()Timer1.Enabled = FalseEnd SubPrivate Sub Timer1_Timer()mleft = Label1.Left + 100If mleft + Label1.Width > Picture1.Width Thenmleft = 0End IfLabel1.Left = mleftEnd Sub习题4—1 (P170)Private Sub Form_Load()Form1.ShowSum = 0For i = 1 To 4a = InputBox("请输入数值型数据")Sum = Sum + aave = Sum / 4NextPrint Sum; aveEnd Sub习题4—3 (P170)Private Sub Command1_Click()a = 5b = 2.5c = 7.8pi = 3.14159265y = pi * a * b / a + b * cPrint yEnd Sub习题4—4Private Sub Command1_Click()a = Val(Text1.Text)tian = a \ 86399xiaoshi = (a - tian * 86400) \ 1439fenzhong = (a - tian * 86400 - xiaoshi * 1440) \ 59miao = a - tian * 86400 - xiaoshi * 1440 - fenzhong * 60Text2.Text = tian & "天" & xiaoshi & "小时" & fenzhong & "分钟" & miao & "秒" End Sub习题4—5Private Sub Command1_Click()Const g As Single = 9.81t = InputBox("请输入t的值")v0 = InputBox("请输入v0的值")s = 1 / 2 * g * t * t + v0 * tPrint Format(s, "0.##")End Sub习题4—6Private Sub Command1_Click()Sum = 0For i = 2 To 100 Step 2Sum = Sum + iNextLabel1.FontSize = 20Label1.Caption = "2+4+6+……+100=" & SumEnd Sub习题4—7Private Sub Command1_Click()Doa = InputBox("请输入三角形的第一条边长")a1 = Val(a)If a1 = -1 ThenEndEnd Ifb = InputBox("请输入三角形的第二条边长")b1 = Val(b)If b1 = -1 ThenEndEnd Ifc = InputBox("请输入三角形的第三条边长")c1 = Val(c)If c1 = -1 ThenEndEnd IfIf (a1 + b1 > c1) And (a1 + c1 > b1) And (b1 + c1 > a1) Then s = a1 + b1 + c1Exit DoElseError1 = MsgBox("您输入的数据不能组成三角形")End IfLoopLabel4.Caption = "您输入的边长分别为:" & a1 & "," & b1 & "," & c1 & " " & "面积为:" & sEnd Sub习题4—8Private Sub Command1_Click()If Text1.Text <> "" Thena = Text1.TextSelect Case aCase Is <= 200s = 0Case Is <= 400s = (a - 200) * 0.03Case Is < 5000s = 200 * 0.03 + (a - 400) * 0.04Case Is >= 5000s = (400 - 200) * 0.03 + (5000 - 400) * 0.04 + (a - 5000) * 0.05 End SelectText2.Text = sElseerror1 = MsgBox("请输入您的收入!")End IfEnd SubPrivate Sub Form_Load()Text2.Locked = TrueEnd SubPrivate Sub Text1_Change()If Not IsNumeric(Text1.Text) Thenerror1 = MsgBox("请输入数字")End IfEnd Sub习题4—9Private Sub Text1_Change()a = Text1.TextSelect Case aCase 0Label2.Caption = "休息"Text1.SelStart = 0Text1.SelLength = 1Case 1, 3Label2.Caption = "讲计算机课"Text1.SelStart = 0Text1.SelLength = 1Case 2, 4Label2.Caption = "讲程序设计课"Text1.SelStart = 0Text1.SelLength = 1Case 5Label2.Caption = "进修英语"Text1.SelStart = 0Text1.SelLength = 1Case 6Label2.Caption = "政治学习"Text1.SelStart = 0Text1.SelLength = 1Case ElseError1 = MsgBox("您确认退出程序?", 52, "确认")If Error1 = 6 ThenEndElseText1.SelStart = 0Text1.SelLength = 1End IfEnd SelectEnd Sub习题4—10Private Sub Command1_Click()For i = 1 To 9Print Tab(30 - 3 * i);For j = 1 To iPrint j;Next jFor k = i - 1 To 1 Step -1Print k;Next kPrintNext iEnd Sub习题4—11Private Sub Command1_Click()For i = 1 To 30For j = i To 30For k = j To 30If i * i + j * j = k * k ThenPrint Tab(10); i, Tab(23); j, Tab(36); k End IfNext k, j, iEnd Sub习题4—12Private Sub Form_Click()Dim m As Integer, n As Integerm = CInt(Val(InputBox("请输入计算范围的初值"))) n = CInt(Val(InputBox("请输入计算范围的终值"))) For i = m To ns = 0For j = 1 To i - 1If i Mod j = 0 Thens = s + jEnd IfNext jIf s = i Then Print iNext iEnd Sub习题4—13Private Sub Form_Click()Dim a As String, c As StringDim b As Integera = InputBox("请输入学生姓名")b = InputBox("请输入学生成绩")Select Case bCase Is <= 39c = "Fail"Case Is <= 49c = "Poor"Case Is <= 59c = "Fair"Case Is <= 79c = "Good"Case Elsec = "Very Good"End SelectPrint "姓名:" & aPrint "成绩:" & bPrint "评语:" & cEnd Sub习题4—14Private Sub Command1_Click()Dim a As Integera = Val(Text1.Text)If a < 10 Or a > 99 Thenerror1 = MsgBox("您输入的不是两位正整数,请重新输入")ElseFor i = 10 To 99a1 = a \ 10 + (a Mod 10) * 10i1 = i \ 10 + (i Mod 10) * 10If (a + i = a1 + i1) And (a1 > 9) And (i1 > 9) ThenLabel2.Caption = Label2.Caption & Chr(13) & a & "+" & i & "=" & a1 & "+" & i1Form1.Height = Label2.Height + Label2.Top + 1000End IfNextEnd IfEnd Sub习题4—15Dim a, b, s As DoubleDim flag, com As IntegerPrivate Sub Command1_Click()If flag = 0 ThenText1.Text = Text1.Text & Command1.Captiona = Val(Text1.Text)ElseText1.Text = ""flag = 0Text1.Text = Text1.Text & Command1.Captiona = Val(Text1.Text)End IfEnd SubPrivate Sub Command2_Click()If flag = 0 ThenText1.Text = Text1.Text & Command2.Captiona = Val(Text1.Text)ElseText1.Text = ""flag = 0Text1.Text = Text1.Text & Command2.Captiona = Val(Text1.Text)End IfEnd SubPrivate Sub Command3_Click()If flag = 0 ThenText1.Text = Text1.Text & Command3.Captiona = Val(Text1.Text)ElseText1.Text = ""flag = 0Text1.Text = Text1.Text & Command3.Captiona = Val(Text1.Text)End IfEnd SubPrivate Sub Command4_Click()If flag = 0 ThenText1.Text = Text1.Text & Command4.Captiona = Val(Text1.Text)ElseText1.Text = ""flag = 0Text1.Text = Text1.Text & Command4.Captiona = Val(Text1.Text)End IfEnd SubPrivate Sub Command5_Click()If flag = 0 ThenText1.Text = Text1.Text & Command5.Captiona = Val(Text1.Text)ElseText1.Text = ""flag = 0Text1.Text = Text1.Text & Command5.Captiona = Val(Text1.Text)End IfEnd SubPrivate Sub Command6_Click()If flag = 0 ThenText1.Text = Text1.Text & Command6.Captiona = Val(Text1.Text)ElseText1.Text = ""flag = 0Text1.Text = Text1.Text & Command6.Captiona = Val(Text1.Text)End IfEnd SubPrivate Sub Command7_Click()If flag = 0 ThenText1.Text = Text1.Text & Command7.Captiona = Val(Text1.Text)ElseText1.Text = ""flag = 0Text1.Text = Text1.Text & Command7.Captiona = Val(Text1.Text)End IfEnd SubPrivate Sub Command8_Click()If flag = 0 ThenText1.Text = Text1.Text & Command8.Captiona = Val(Text1.Text)ElseText1.Text = ""flag = 0Text1.Text = Text1.Text & Command8.Captiona = Val(Text1.Text)End IfEnd SubPrivate Sub Command9_Click()If flag = 0 ThenText1.Text = Text1.Text & Command9.Captiona = Val(Text1.Text)ElseText1.Text = ""flag = 0Text1.Text = Text1.Text & Command9.Captiona = Val(Text1.Text)End IfEnd SubPrivate Sub Command10_Click()If flag = 0 ThenText1.Text = Text1.Text & Command10.Captiona = Val(Text1.Text)ElseText1.Text = ""flag = 0Text1.Text = Text1.Text & Command10.Captiona = Val(Text1.Text)End IfEnd SubPrivate Sub Command11_Click()If flag = 0 ThenText1.Text = Text1.Text & Command11.Captiona = Val(Text1.Text)ElseText1.Text = ""flag = 0Text1.Text = Text1.Text & Command11.Captiona = Val(Text1.Text)End IfEnd SubPrivate Sub Command12_Click()Select Case comCase 1a =b + aText1.Text = aflag = 1Case 2a =b - aText1.Text = aflag = 1Case 3a =b * aText1.Text = aflag = 1Case 4a =b / aText1.Text = aflag = 1End SelectEnd SubPrivate Sub Command13_Click()b = aflag = 1com = 1End SubPrivate Sub Command14_Click()b = aflag = 1com = 2End SubPrivate Sub Command15_Click()b = aflag = 1com = 3End SubPrivate Sub Command16_Click()b = aflag = 1com = 4End Sub习题5—1 (P196)Private Sub Form_Click()Dim a(1 To 20)For i = 1 To 20a(i) = InputBox("请输入第" & i & "个元素") Next iFor i = 1 To 20Print a(i); " ";Next iPrintFor i = 1 To 10t = a(i)a(i) = a(21 - i)a(21 - i) = tNext iPrint a(i),Next iEnd Sub习题5—2Private Sub Form_Click()Dim a(1 To 10, 1 To 10)For i = 1 To 10For j = 1 To 10If i = j Thena(i, j) = 1ElseIf i + j = 11 Thena(i, j) = 1Elsea(i, j) = 0End IfNext jNext iFor i = 1 To 10For j = 1 To 10Print a(i, j);Next jPrintNext iEnd Sub习题5—3Private Sub Form_Click()Dim a() As Integern = InputBox("请输入n")m = InputBox("请输入m")Print "数组为" & n & "行" & m & "列"ReDim a(n, m)For i = 1 To nFor j = 1 To ma(i, j) = InputBox("请输入第" & i & "行" & j & "列") Next jNext iFor i = 1 To nFor j = 1 To mPrint a(i, j);Next jPrintNext is = 0For j = 1 To ms = s + a(i, j)Next jNext iv = s / (n * m)Print "平均值为:" & vFor i = 1 To nFor j = 1 To mIf a(i, j) > v ThenPrint "元素:" & a(i, j) & "行号:" & i & "列号:" & j End IfNext jNext iEnd Sub习题5—4Private Sub Form_Click()Dim a(1 To 50, 1 To 4) As IntegerFor i = 1 To 50For j = 1 To 4a(i, j) = Int(Rnd * 90 + 10)Next jNext i'显示满足条件的行For i = 1 To 50For j = 1 To 4If a(i, j) > 90 ThenFor k = 1 To 4Print a(i, k) & " ";Next kPrintExit ForEnd IfNext jNext i'显示完整数组For i = 1 To 50For j = 1 To 4Print a(i, j) & " ";Next jPrintNext iEnd Sub习题5—5Private Sub Form_Click()Dim n As Integer, m As IntegerDim a() As Integern = InputBox("请输入行数n")m = InputBox("请输入列数m")ReDim a(1 To n, 1 To m)For i = 1 To nFor j = 1 To ma(i, j) = InputBox("请输入第" & i & "行" & j & "列的元素") Next jNext iFor i = 1 To nFor j = 1 To mPrint Format(a(i, j), "000") & " ";Next jPrintNext ian_num = 0For i = 1 To nhmax = a(i, 1)lhao = 1For j = 1 To mIf a(i, j) > hmax Thenhmax = a(i, j)lhao = jEnd IfNext jlmin = a(i, lhao)For k = 1 To nIf a(k, lhao) < lmin Thenlmin = a(k, lhao)End IfNext kIf lmin = hmax ThenPrint " 鞍点为:" & i & "行" & lhao & "列"an_num = an_num + 1End IfNext iIf an_num = 0 Then Print "无鞍点"End Sub习题5—6Private Sub Form_Click()Dim a(1 To 3, 1 To 3) As IntegerDim b(1 To 3, 1 To 3) As IntegerDim c(1 To 3, 1 To 3) As IntegerFor i = 1 To 3For j = 1 To 3a(i, j) = Int(Rnd * 90 + 10)b(i, j) = Int(Rnd * 90 + 10)Next jNext iPrint "数组A:"For i = 1 To 3For j = 1 To 3Print a(i, j) & " ";Next jPrintNext iPrint "数组B:"For i = 1 To 3For j = 1 To 3Print b(i, j) & " ";Next jPrintNext iFor i = 1 To 3For j = 1 To 3c(i, j) = a(i, j) + b(i, j)Next jNext iPrint "数组C:"For i = 1 To 3For j = 1 To 3Print c(i, j) & " ";Next jPrintNext iEnd Sub习题5—7Private Sub Form_Click()Dim a(1 To 10, 1 To 3)Dim s As Integer, av As IntegerFor i = 1 To 10a(i, 1) = InputBox("请输入第" & i & "个学生的姓名") a(i, 2) = InputBox("请输入第" & i & "个学生的学号") a(i, 3) = InputBox("请输入第" & i & "个学生的成绩") Next iPrint "原始数据为:"Print "姓名", "学号", "成绩"For i = 1 To 10For j = 1 To 3Print a(i, j),Next jPrintNext is = 0For i = 1 To 10s = s + a(i, 3)Next iav = s / 10Print "平均成绩为:" & avPrint "姓名", "学号", "成绩", "奖金等级"For i = 1 To 10If a(i, 3) > av * 1.1 ThenPrint a(i, 1), a(i, 2), a(i, 3), "一等奖"ElseIf a(i, 3) > av * 1.05 ThenPrint a(i, 1), a(i, 2), a(i, 3), "二等奖"End IfNext iEnd Sub习题5—8Private Sub Form_Click()Dim a(1 To 10, 1 To 4)For i = 1 To 10a(i, 1) = InputBox("请输入第" & i & "个学生的姓名")a(i, 2) = Val(InputBox("请输入第" & i & "个学生的语文成绩")) a(i, 3) = Val(InputBox("请输入第" & i & "个学生的数学成绩")) a(i, 4) = (a(i, 2) + a(i, 3)) / 2Next iPrint "姓名", "语文", "数学", "平均分"For i = 1 To 10For j = 1 To 4Print a(i, j),Next jPrintNext iFor i = 10 To 2 Step -1For j = 1 To i - 1If a(j, 4) < a(j + 1, 4) Thent = a(j, 1)a(j, 1) = a(j + 1, 1)a(j + 1, 1) = tt = a(j, 2)a(j, 2) = a(j + 1, 2)a(j + 1, 2) = tt = a(j, 3)a(j, 3) = a(j + 1, 3)a(j + 1, 3) = tt = a(j, 4)a(j, 4) = a(j + 1, 4)a(j + 1, 4) = tEnd IfNext jNext iPrint "姓名", "语文", "数学", "平均分" For i = 1 To 10For j = 1 To 4Print a(i, j),Next jPrintNext iEnd Sub习题5—9Private Sub Form_Click()Dim a, b, c(0 To 5) As Integera = Array(2, 8, 7, 6, 4, 28, 70, 25)b = Array(79, 27, 32, 41, 57, 66)Print "A数组的内容:"For Each x In aPrint x,Next xPrintPrint "B数组的内容:"For Each x In bPrint x,Next xPrintPrint "C数组的内容:"For i = 0 To 5c(i) = a(i) + b(i)Print c(i),Next iEnd SubPrivate Sub Form_Click()Dim a(1 To 4, 1 To 4) As IntegerFor i = 1 To 4For j = 1 To 4a(i, j) = InputBox("请输入第" & i & "行第" & j & "列的元素") Next jNext iPrint "原始数组:"For i = 1 To 4For j = 1 To 4Print a(i, j),Next jPrintNext iPrint "主对角线:"For i = 1 To 4Print a(i, i),Next iPrintPrint "另一条对角线:"For i = 1 To 4Print a(i, 5 - i),Next iPrintFor i = 1 To 4s = 0For j = 1 To 4s = s + a(i, j)Next jPrint "第" & i & "行的和为:" & sNext iFor i = 1 To 4s = 0For j = 1 To 4s = s + a(j, i)Next jPrint "第" & i & "列的和为:" & sNext iFor i = 1 To 4t = a(1, i)a(1, i) = a(3, i)a(3, i) = tNext it = a(i, 2)a(i, 2) = a(i, 4)a(i, 4) = tNext iPrint "结果数组:"For i = 1 To 4For j = 1 To 4Print a(i, j),Next jPrintNext iEnd Sub习题5—11Private Sub Form_Click()Dim a()Dim n As Integern = InputBox("请输入人数N")ReDim a(1 To n, 1 To 5)For i = 1 To na(i, 1) = InputBox("请输入第" & i & "个人的姓名")a(i, 2) = InputBox("请输入第" & i & "个人的性别")a(i, 3) = InputBox("请输入第" & i & "个人的年龄")a(i, 4) = InputBox("请输入第" & i & "个人的文化程度") a(i, 5) = InputBox("请输入第" & i & "个人的籍贯") Next iPrint "原始数据:"Print "姓名", "性别", "年龄", "文化程度", "籍贯"For i = 1 To nFor j = 1 To 5Print a(i, j),Next jPrintNext iPrint "查找的结果:"x = 6Do While x = 6sn = InputBox("请输入要查找的人的姓名")For i = 1 To nIf sn = a(i, 1) ThenFor j = 1 To 5Print a(i, j),Next jPrintExit ForEnd IfNext iIf i > n Then Print "没有找到该人"x = MsgBox("你是否还要继续查找??", vbInformation + vbYesNo, "提问") LoopEnd Sub习题5—12Private Sub Form_Click()Dim a(1 To 10, 1 To 2)For i = 1 To 10a(i, 1) = CStr(InputBox("请输入运动员号"))a(i, 2) = Val(InputBox("请输入成绩"))Next iPrint "原始的顺序"Print "运动员号", "成绩"For i = 1 To 10For j = 1 To 2Print a(i, j),Next jPrintNext iFor i = 10 To 2 Step -1For j = 1 To i - 1If a(j, 2) > a(j + 1, 2) Thent = a(j, 2)a(j, 2) = a(j + 1, 2)a(j + 1, 2) = tt = a(j, 1)a(j, 1) = a(j + 1, 1)a(j + 1, 1) = tEnd IfNext jNext iPrint "排列的顺序"Print "名次", "运动员号", "成绩"For i = 1 To 10Print i,For j = 1 To 2Print a(i, j),Next jPrintNext iEnd SubPrivate Sub Form_Click()Dim a(11, 11)For i = 1 To 11a(i, 1) = 1a(i, i) = 1Next iFor i = 3 To 11For j = 2 To 10a(i, j) = a(i - 1, j - 1) + a(i - 1, j)Next jNext iFor i = 1 To 11For j = 1 To iPrint Format(a(i, j)),Next jPrintNext iEnd Sub习题6—4 (P224)Private Sub Form_Click()Dim i As LongFor i = 1 To 1000If Automorphic(i) Then Print iNext iEnd SubPrivate Function Automorphic(n As Long) As Boolean Dim t As Long, l As Integerl = Len(CStr(n))t = n * nAutomorphic = Right(CStr(t), l) = CStr(n)End Function习题6—6Private Sub Form_Click()For i = 1 To 20Print i & "的立方为:" & m_pf(i)Next iEnd SubPrivate Function m_pf(x)m_pf = x * x * xEnd FunctionPrivate Sub Form_Click()Dim a As Integera = InputBox("请输入一个整数")If is_bin(a) ThenPrint "偶数"ElsePrint "奇数"End IfEnd SubPrivate Sub Form_Load()End SubPrivate Function is_bin(n As Integer) As Boolean If n Mod 2 = 0 Thenis_bin = TrueElseis_bin = FalseEnd IfEnd Function习题6—9Const pi = 3.1415926Private Sub Form_Click()Print "余下的面积为:" & C_S(10) - C_S(5) - C_S(3) End SubPrivate Function C_S(r As Single) As SingleC_S = pi * r * rEnd Function习题6—10Private Sub Form_Click()Print "第五人的年龄为:" & n_age(5)End SubPrivate Function n_age(n As Integer) As IntegerIf n = 1 Thenn_age = 10Elsen_age = n_age(n - 1) + 2End IfEnd Function。