End Function
32.下面的程序是把给定的十六进制正整数转换为十进制数。
提示:一个十六进制正整数转换为十进制数的方法是直接用下面的幂级数展开运算而得。
(an an-1?a1)16=an×16n-1+an-1×16n-2+?+a1×160 Option Explicit
Private Sub Form_Click()
Dim St As String, Dem As Long St=InputBox(\输入一个十六进制数\ Dem=Convert(St) Print St; \End Sub
Private Function Convert(S As String)As Long
Dim N As Integer, I As Integer, Substring As String*l Dim P As Long, K As Long, Asc1 As Integer N= (42) P=16^N
For I=1 To N P=P/16
Substring= (43) Select Case Substring Case \
K=K+P*Val(Substring) Case (44) Asc1=Asc(Substring)-Asc(\
(45) End Select Next I
(46) End Function
33.执行下面的程序,单击窗体后在窗体上显示的结果是 (47) 。 Private Sub Form_Click()
Dim Str1 As String, Str2 As String Dim Str3 As String, I As Integer Str1=\ For I=1 To 2
Str2=UCase(Str1) Str1=Str2 & Str1 Str3=Str3 & Str1 Str1=Chr(Asc(Str1)+I) Next I Print Str3
End Sub
34. 下面的程序是采用“冒泡排序”法从键盘上输入10个整数,将10个数从小到大排序。
Private Sub Command1_Click()
31
Dim a(1 To 10) As Integer msg = \输入数:\ msgtitle = \冒泡排序\ For i = 1 To 10
a(i) = (48) Next i
For i = 10 To 2 Step - 1
For j = 1 To (49) If (50) Then
t = a(j+1): a(j+1) = a(j): a(j) = t End If Next j Next i
For i = 1 To 10 Print a(i) Next i End Sub
35.执行下面的程序,在窗体上显示的输出结果的第一行是 (51) ,第二行是 (52) 。
Option Explicit
Private Sub Form_Click()
Dim s As String, i As Integer, flag As Boolean s=\ S=LCase(s) Print s Flag=True
For I=1 to Len(s)
If Mid(s, i, 1)= \ Then flag=True ElseIf flag Then
S=Left(s, I-1) & UCase(Mid(s, i, 1)) & Right(s, len(s)-i) Flag=False End If Next i Print S End Sub 36.执行下面的程序,在窗体上显示的输出结果的第一行是 (53) ,第二行是 (54) ,第三行是 (55) 。
Option Explicit
Dim a As Integer, b As Integer Private Sub Form_Click() Dim c As Integer a=1 b=3 c=5
Print fun(c)
32
Print a, b, C Print fun(c) End Sub
Private Function fun(x As Integer) As Single fun=a+b+x/2 a=a+b b=a+x x=b+a End Function
37.执行下面的程序,在窗体上显示的输出结果的第一行是 (56) ,第二行是 (57) 。
Option Explicit
Private Sub Form_Click()
Dim M As Integer, N As Integer M=1:N=2
Print M+N+Fun1(M, N) M=2:N=1
Print Fun1(M, N)+Fun1(M, N) End Sub
Private Function Fun1(X As Integer, Y As Integer) X=X+Y Y=X+3 Fun1=X+Y End Function 38.执行下面的程序,在窗体上显示的输出结果的第一行是 (58) ,第二行是 (59) ,第四行是 (60) 。
Option Explicit
Private Sub Form_Click()
Dim a(2, 2) As Integer, i As Integer, J As Integer Dim k As Integer For i=1 To 2 For j=1 To 2
a(i, j)=(I-1)*2+J Print a(i, j); Next j Print Next i Print k=(I-1)*2 For i=1 To 2 For j=1 To 2 a(i, J)=k k=k- 1 Print a(i, j); Next j Print
33
Next i End Sub
39.执行下面的程序,在窗体上显示的输出结果的第一行是 (61) ,第三行是 (62) ,Form_Click()事件过程中的第二个For-Next循环共执行了 (63) 次。
Option Explicit Option Base 1
Private Sub Form_Click()
Dim a(5) As Integer, i As Integer, J As Integer For i=1 To 5 a(i)=2*I-1 Print a(i); Next i Print
For j=1 To I-2 Call sub1(a(j), j) Print j Next j End Sub
Public Sub sub1(X As Integer, P As Integer) If x-P<=2 Then P=P+1 Else P=P+2 End If End Sub 40.下面程序的功能是:统计随机产生的十个两位正整数中偶数与奇数的个数,并求出偶数与奇数各自的总和。
Option Explicit
Private Sub Form_Click()
Dim X As Integer, s1 As Integer, s2 As Integer Dim n1 As Integer, n2 As Integer, i As Integer Randomize For i=1 To l0
X=Int(Rnd*90)+10 Print X;
If (64) then n2=n2+l s2=s2+X Else
(65)
S1=s1+X
End If Next i Print
Print \奇数个数=\偶数个数=\
34
End Sub
41.下面程序的功能是:单击命令按钮Command1,找出100以内的所有约数之和为一个完全平方数的正整数,并按下图中所示的格式将结果显示在图形框Picture1中。
Option Explicit
Private Sub Command1_Click()
Dim i As Integer, J As Integer
Dim F() As Integer, sum As Integer For i=3 To 100 (66) If Fac(i, F, sum) Then
Picture1.Print i; \:\ For J=1 To UBound(F)-1 Picture1. Print F(J); \ Next J
Picture1. Print F(J); \ End If Next i End Sub
Private Function Fac(ByVal K As Integer, A() As Integer, sum As Integer) As Boolean Dim N As Integer, J As Integer For N=1 To K
If (67) then J=J+1 (68) A(J)=N
Sum=sum + N End If Next N
If Sum= (69) Then Fac=True End Function
42.下面程序执行后,输出的第一行是 (70) ,第二行是 (71) ,第三行是 (72) 。
Private Sub Form_Click()
Dim a As Integer, b As Integer
35

