1、VB课后习题答案3.8 建立应用程序界面:编写两个命令按钮的事件过程:Private Sub Command1_Click() Caption=Text1.TextEnd SubPrivate Sub Command2_Click() Text1.Text=”End Sub第5章5.4 Private Sub Form_Click() Dim a As Ingeter,b As Ingeter,c As Ingeter,d As Ingeter,s As Ingeter,aver As Single a=Val(InputBox(“请输入第一个数”) b=Val(InputBox(“请输入第二
2、个数”) c=Val(InputBox(“请输入第三个数”) d=Val(InputBox(“请输入第四个数”) sum=a+b+c+d aver=sum/4 Print “所输入的4个数分别为”;a,b,c,d Print”4个数的和为:”;sum Print”4个数的平均值为:”;averEnd Sub5.5 Private Sub Form_Click() Name$=InputBox(“请输入您的姓名”) Age$=InputBox(“请输入您的年龄”) Add$= InputBox(“请输入通信地址”)Pos$=InputBox(“请输入邮政编码”)Tel$=InputBox(“请输
3、入电话号码”)Print Tab(6);”姓名”;Space(3);”年龄”;Space(3);”通信地址”;_Space(3);”邮政编码”;Space(3);”电话号码” PrintPrint Tab(6);name;Space(3);Age;Space(3);Add;_Space(3);Pos;Space(3);Tel End Sub5.6 Private Sub Form_Click() Dim h As Ingeter,f As Ingeter,x AS ingeter, y AS ingeter h=Val(InputBox(“请输入鸡和兔的总的头数”) f=Val(InputBo
4、x(“请输入鸡和兔的总的脚数”) y=(f-2*h)/2 x=(4*h-f)/2 Print”笼中有鸡”;x;”只,兔”;y;”只”End Sub5.7 Private Sub Form_Click() a=5:b=2.5:c=7.8 y=(3.1416*a*b)/(a+b*c) Print “y=”;y End Sub5.8 Private Sub Form_Click() Dim Second As Long ,Minute As Long,Hour As Long,Day As Long, second1 As Long Second=Val(Input(“请输入秒数”)) Second
5、1=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 Sub第6章 6.8 建立应用程界面: 编写两个命令按钮的Click事件过程:Private SubCommand1_Click() Combo1.Additem Text1.TextEnd SubPrivate Su
6、b Command2_Click() Print Combo1.ListCount Print Combo1.TextEnd Sub6.9 Private Sub Command1_Click() Text1.Text=”Microsoft Visual Basic 6.0” End Sub Private SubText1_Change() Text2.Text=LCase(Text1.Text) Text3.Text=UCase(Text1.Text) End Sub6.10 Private Sub Command1_Click() VScroll.Min=100 VSvroll.Max=
7、2400 VSvroll.LargeChange=200 VSvroll.SmallChange=20End SubPrivate Sub VScroll_change() Picture1.Height=VScroll.ValueEnd Sub6.11 Private Sub List1_DblClick() Text1.Text=List1.Text List1.RemoveItem List1.ListIndexEnd Sub6.12 Private Sub Form_Load() Label1.Font Size=16 Timer1.Interval=1000End SubPrivat
8、e Sub Timer1_Timer() Static a As ingeter a=a+1 Label1.Caption=Str$(a) BeepEnd Sub6.13 Private Sub Form_Load() Combo1.AddItem”10” Combo1.AddItem”16”Combo1.AddItem”20”Combo2.AddItem”黑体”Combo2.AddItem”幼圆”Combo2.AddItem”宋体”End SubPrivate Sub Combo1_Click(0 Label1.FontSize=Combo1.TextEnd subPrivate Sub C
9、ombo1_Click() Label1.FontName=Combo2.TextEnd sub 第7章7.1 Private Sub form_Click() Static sum As ingeter For i=1 To 100 Sum=Sum+i Next i Print Sum End Sub7.2 Private Sub Form_Click() Dim p As Double Dim r As single Dim n As ingeter p=1300000000 r=0.01 While p0)”)b=Val(inputBox(“请输入b边的边长(b0)”)c=Val(inp
10、utBox(“请输入c边的边长(c0”)if a+b=c or b+c=a or c+a=b Then MsgBox”所输入的值不能构成三角形,请重新输入” Exit subEnd ifs=(a+b+c)/2t=sqr(s*(s-a)*(s-b)*(s-c)Print “三角形的面积为:”;tEnd Sub7.4 Private Sub Form_Click() Dim w As Single,s As sigle Dim p As Single,t As Single w=Val(InputBox(“请输入货物重量”) s=Val(InputBox(“请输托运距离”) Select Case
11、 s Case Is100 P=32 Case Is200 P=28 Case Is 300 P=25 Case Is400 P=22.5 Case Is1000 P=20 Case Else P=15 End Select t=p*w*s Print w;”吨货物”;s;”公里的总运费为”;t;”元” End Sub7.5 Privat Sub Form_Click() Dim s As String For i=1 to 9 S=Space(9-i)*2) For j=-(i-1) To (i-1) S=s&i-Abs(j)& “ ” Next j Print s Next i End S
12、ub7.6 Private Sub Form_Click() Print “a”,”b”,”c”,”a*a”,”b*b”,”c*c” Print For a=1 to 20 For b=1 To 20 For c=1 to 20 If a*a+b*b=c*c then Print a,b,c,a*a,b*b,c*c End If Next c Next b Next a End sub7.7 Private Sub Form_Click() Dim x As ingeter Dim y As ingeter Dim r As ingeter x=Val(InputBox(“请输入x的值”) y
13、=Val(InputBox(“请输入y的值”) x1=x: y1=y Do while y0 r=x mod y x=y y=r Loop Print x1;”和”;y1;”的最大公约数为”;x End Sub7.9 Private Sub Form_Click() Print” *”;Tab(9);3,Tab(18);6;Tab(27);9;Tab(36);12 Print For i=15 To 18 Print i; For j=3 To 12 Step 3 Print Tab(3*j);j*i; Next j Print Next i End sub7.10 Private Sub F
14、orm_Click() n=InputBox(“请输入学号”) s=InputBox(“请输入分数”) if s=80 then MsgBox”学号” & n & “,分数为” & s & “,Very good” ElseIf s=60 And s=50 And s=40 And s=30 And s=0.0001 Pi=Pi+t n=n+2 s=-s t=s/n Wend Pi=Pi*4 Print PiEnd Sub7.14 分析:把十进制数d转换为r进制的数,采用的方法通常是:除r取余,逆序输出。即把d连续除以r取余数,直到商等于0为止,将所求得的余数放在一个数组中,按相反的顺序得到结
15、果,最后得到的余数是转换后的高位。建立如下应用程序界面:Private Sub Form_Click() Dim dec As Integer, base As Integer Dim decR(30) As Integer Dim StrDecR As String * 30 Dim StrBase As String * 16 Dim b As Integer, n As Integer StrBase = 0123456789ABCDE dec = Val(Text1.Text) base = Val(Text2.Text) If base 16 Then res = MsgBox(进制
16、超过范围, vbRetryCancel) If res = vbRetry Then Text1.Text = Text1.SetFocus Else End End If End If n = 0 Do While dec 0 decR(n) = dec Mod base dec = dec base n = n + 1 Loop StrDecR = n = n - 1 Do While n = 1 b = decR(n) StrDecR = RTrim(StrDecR) + Mid(StrBase, b + 1, 1) n = n - 1 Loop Label3.Caption = Tex
17、t1.Text & 转换为 & Text2.Text & 进制后为: Text3.Text = StrDecREnd Sub 第8章 8.3 (1)13 (2)6 (3)15 (4)105 (5) 9 (6)22 (7)11 (8) 28 8.4option Base 1 Private Sub Form_Click() Dim A() As integer For i=1 To 10 A(i)=Val(inputBox(“请输入第” & i &”个数”) Print A(i); Next i For i=1 To 5 For j=6 To 10 T=A(i) A(i)=A(j) A(j)=T
18、 Next j Next iPrint Print”兑换后的数组为:” For i=1 To 10 Print A(i); Next i End Sub8.5 Option Base 1Private Sub Form_Click()Dim A As Integer,B AS integer,C() As integer 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) + C(i) Next i Print Print 第一个数组为:;
19、For i = 1 To 8 Print Tab(12 + 5 * i); A(i); Next i Print Print 第二个数组为:; For i = 1 To 8 Print Tab(12 + 5 * i); B(i); Next i Print Print 相加后的数组为:; For i = 1 To 8 Print Tab(12 + 5 * i); C(i); Next iEnd Sub8.6 Option Base 1 Private Sub Form_Click() Dim Mat() As integer Dim M As integer,N As integer M=Va
20、l(inputBox(“请输入矩阵的行数”) N=Val(inputBox(“请输入矩阵的列数”) ReDim Mat(M,N) As integer For i=1 To M For j=1 To N Mat(I,j)=inputBox(“请输入数组第” & i & “行,第” & j & “列元素值”) Mat(I,j)=Val(Mat(I,j) Next i Next iPrint “所建立的矩阵为”For i=1 To M For j=1 To N Print Mat(I,j);“ ”; Next jNext iMax=Mat(1,1)For i=1 To M For j=1 to N
21、 If Maxb Then M=a Else M=b End If If mc Then Max=m Else Max=c End IfEnd Function求三个数最小值的过程:Function Min(ByVal a As integer,ByVal b As integer,ByVal c As integer) If ab Then M=a Else M=b End If If mc Then Max=m Else Max=c End IfEnd Function事件过程如下:Option Base1Dim aa()As integerPrivate Sub Form_Click()
22、 ReDim aa(3) For i = 1 To 3 aa(i) = InputBox(请输入第 & i & 个数) Print aa(i); Next i Print Print 3个数的最大值是; Max(aa(1), aa(2), aa(3) Print 3个数的最小值是; Min(aa(1), aa(2), aa(3) ReDim aa(5) For i = 1 To 5 aa(i) = InputBox(请输入第 & i & 个数) Print aa(i); Next i Print Print 5个数的最大值是; Max(Max(aa(1), aa(2), aa(3), aa(4
23、), aa(5) Print 5个数的最小值是; Min(Min(aa(1), aa(2), aa(3), aa(4), aa(5) ReDim aa(7) For i = 1 To 7 aa(i) = InputBox(请输入第 & i & 个数) Print aa(i); Next i Print Print 7个数的最大值是; Max(Max(Max(aa(1), aa(2), aa(3), aa(4), aa(5), aa(6), aa(7) Print 7个数的最小值是; Min(Min(Min(aa(1), aa(2), aa(3), aa(4), aa(5), aa(6), aa(7)End Sub9.2 function 过程:Function factF(ByVal n As integer) As Double t=1 For i=1
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1