Private Sub Command1_Click( ) Dim n%,Factor%,First As Boolean n = InputBox("输入一个正整数") Factor = 2 First = True Do
Do While ________ `内循环考虑到有多个相同的质因数 If First Then
Print n;"=";Factor Else
Print"*";Factor End If ________ First = False Loop
Factor = Factor + 1 Loop Until Factor > n
End Sub
13. 以下程序的功能是:生成20个200—300之间的随机整数,输出其中能被5整除的数并求出它们的和。请填空。
Private Sub Cornrnand1_Click() For i=l To 20
x=Int(Rnd*200+100) If ______ Then Print x S=S+x End If Next i
Print \End Sub
14.在窗体上画一个命令按钮,其名称为Command1,然后编写如下事件过程:
Private Sub commandl- Click () a=1: b=a
Do Until a>=5 X=a*b
Print Str(a) &\a=a+b b=b+a Loop Print e End Sub
程序运行后,单击命令按钮,输出结果为 三. 编程题
1. 有一长阶梯,如果每步跨2阶最后剩1阶,如果每步跨3阶最后剩2阶,如果每步跨4
- 52 -
2.
3. 4. 5.
阶最后剩3阶,如果每步跨5阶最后剩4阶,如果每步跨6阶最后剩5阶,只有如果每步跨7阶时恰好走完,问这个阶梯有多少阶。
提示:利用其肯定是7的倍数这个条件,然后根据同时满足除n项余m(n = 2,3,4,5,6; m = 1,2,3,4,5)的逻辑关系即可。
一个球从100 m高度自由下落,每次落地后反跳回原高度的一半,再落下。求它在第10次落地时,共经过多少米?落地10次反弹高度多少? 提示:解题思路参照配套教材中猴子吃桃问题。 输出100~200之间不能被3整除的数。 求 n!(即输入n值,求出其阶乘)
第五章 数 组
一. 选择题
1. 如下数组声明语句,_________正确。
(A)Dim a [3,4] As Integer (B)Dim a(3,4) As Integer (C)Dim a (n,n) As Integer (D)Dim a (3 4) As Integer
?1.12.23.3???2. 要分配存放如下方阵的数据,4.45.56.6 ????7.78.89.9??可使用数组声明语句_________来实现(不能浪费空间)。
(A)Dim a (9) As Single (B)Dim a (3,3) As Single
(C)Dim a (- 1 To 1 , -5 To - 3) As Single (D)Dim a (- 3 To - 1 , 5 To 7) As Single 3. 如下数组声明语句中,数组a包含元素的个数为_________。 Dim a (3, -2 to 2,5)
(A)120 (B)75 (C)60 (D)13 4. 以下程序输出的结果是_________。 Dim a
a = Array (1,2,3,4,5,6,7)
For i = Lbound (a) To Ubound (a) a(i) = a(i) * a(i) Next i Print a(i)
(A)49 (B)0 (C)不确定 (D)程序出错 5. 以下程序输出的结果是_________。 Option Base 1
Private Sub Command1_Click( ) Dim a%(3,3) For i = 1 To 3 For j = 1 To 3
If j > 1 And i >1 Then
a(i,j) = a(i-1,j-1),a(i,j-1) ) + 1 Else
- 53 -
a(i,j) = i * j End If
Print a(i,j);""; Next j Print Next i End Sub
(A)1 2 3 (B)1 2 3 (C) 1 2 3 (D)1 1 1 2 3 1 1 2 3 2 4 6 2 2 2 3 2 3 1 2 3 3 6 9 3 3 3 6. 以下程序输出的结果是_________。 Option Base 1
Private Sub Command1_Click( ) Dim a,b (3,3)
a = Arrary(1,2,3,4,5,6,7,8,9) For i = 1 To 3 For j = 1 To 3 b(i,j) = a(i * j)
If (j > = i) Then Print Tab(j * 3) ; format(b(i,j),"###"); Next j Print Next i End Sub
(A)1 2 3 (B)1 (C)1 4 7 (D)1 2 3 4 5 6 4 5 2 4 6 4 6 7 8 9 7 8 9 3 6 9 9 7. 下列一维数组说明语句错误的是_________。
(A) Dim b(100) As Double (B) Dim b(-5 To 0) As Byte (C) Dim b(-10 to –20 ) As Integer (D) Dim b(5 to 5) As String
8. 若有数组说明语句为Dim a(-3 to 8) , 则数组a包含元素的个数是_________。 (A) 5 (B) 8 (C) 11 (D) 12
9. 设有数组说明语句Dim c(1 to 10) , 则下面表示数组c的元素选项中_________是错误的。 (A) c(I - 1) (B) c(5+0.5) (C) c(0) (D) c(10) 10. 下列数组说明语句中正确的是_________。
(A) Dim a(-1 to 5,8) As String (B) Dim a(n,n) As Integer
(C) Dim a(0 to 8,5 to -1 ) As Single (D) Dim a(10 to -10) As Double 11. 设有数组说明语句Dim b(2, 2) , 则数组b中元素的个数是_________。 (A) 9 (B) 4 (C) 16 (D) 20
12. 若有数组说明语句Dim a( ) As Integer, 则数组a被定义为_________。 (A) 定长数组 (B) 可调数组 (C) 静态数组 (D) 可变类型数组
13. 若有数组说明语句Dim t(1 to 10 ) As Variant, 则数组t被定义为_________。 (A) 数值数组 (B) 可调数组 (C) 字符串数组 (D) 可变类型数组 14.在窗体上画一个命令按钮,其名称为Command1,然后编写程序如下代码:
Option Base 1
- 54 -
Private Sub Command1-Click () Dim a
A=Array (1,2,3,4) j=1
For i=4 to 1 Step -1 s=a (i)*j Print s; Next i End Sub
程序运行后,单击命令按钮,其输出结果是_________
(A)4321 (B)1 (C)34 (D)1234 15.在窗体上画一个命令按钮,然后编写如下程序:
Option Base 1
Private Sub command1_Click() Dim arr(4, 4) For i = 1 To 4 For J = 1 To 4
arr(i, J) = (i - l) * 3 + J Next J Next i
For i = 1 To 2 For J = 1 To 2 Print arr(i, J); Next J Print Next i End Sub
程序运行后,单击命令按钮,输出结果是_________。
(A) 3 4 (B) 7 8 (C) 4 5 D) 4 5 6 7 10 12 7 8 6 7
16. 在窗体上画一个命令按钮,然后编写如下事件过程:
Private Sub Command1_Click() Dim a( )
a=Array(1,3,5,7) s=0
For i=0 To 3 s=s*10+a(i) next i print s End Sub
程序运行后,输出结果为_________ (A)1357 (B)357 (C)7531 (D)753
- 55 -