第6章习题
一、单选题
D 2. A 3.(1)B,(2)B
4.C 5. C 6. A
7. (1)C (2)B (3)A (4)B (5)D
二、多选题
1. AD 2. CD
三、填空题
12; 1, 3; -1, 2 2. 0 1 2 3
2 2 2 2
2 1 0 1
4 4 4 4
3. Name, Index
4.
(1) 0 To Index
(2)Val(Text1(k).Text)
5.
(1) i+1 To k
(2) s(i)< s(j)
(3) s(i)<>s(i-1)
(4) h = h+1
6. (1) ReDim a(1 To n + 1)
(2) a(K + 1) = a(K) (3) a(p)
编程及上机调试
1. 程序代码如下:
Private Sub Form_Load()
Show
Dim a(100) As Single
n = Val(InputBox("输入个数n"))
Print "处理前数据 :"
For k = 1 To n
a(k) = Val(InputBox("请输入第" & k & "个数"))
Print a(k);
Next k
M = Int(n / 2)
For k = 1 To M
h = n - k + 1
t = a(h):a(h) = a(k):a(k) = t
Next k
Print "处理的结果 :"
For k = 1 To n
Print a(k);
Next k
End Sub
2. 程序代码如下:
Private Sub Form_Load()
Dim a(6, 6) As Integer
Show
For i = 1 To 6
For j = 1 To 6
Select Case i
Case Is < j
a(i, j) = 1
Case Is > j
a(i, j) = 2
Case Is = j
a(i, j) = 0
End Select
Print a(i, j);
Next j
Next i
For i = 1 To 6
t = a(1, i):a(1, i) = a(6, i):a(6, i) = t
Next i
Print: Print
For i = 1 To 6
For j = 1 To 6
Print a(i, j);
Next j
Next i
End Sub
3.在窗体上建立两个列表框List1(处理前数据)和List2(处理后数据),以及标签Label1。程序代码如下:
Private Sub Form_Load()
Dim a(100) As Integer, b(100) As Integer
Randomize
n = 100
For i = 1 To n '输入数组a的n个元素
x = Int(20 * Rnd)
List1.AddItem x
a(i) = x
Next i
k = 0
For i = 1 To n '删除零元素
If a(i) <> 0 Then
k = k + 1 : b(k) = a(i) : List2.AddItem b(k)
End If
Next i
Label1.Caption = "数组中零元素个数:" + Str(n - k)
End Sub
4.(1) g(x - 10) + 1 (2) n - 1 (3) g(t) < g(j)
(4) m = s(t): s(t) = s(k): s(k) = m
5.在窗体上建立4行3列共12个元素的文本框控件数组Text1(0)~Text1(11)
Private Sub Form_Load()
Dim t(12) As String
Randomize
For k = 1 To 12
t(k) = "Empty" '初始安排12个位置均为"Empty"
Next k
For h = 65 To 74 '代表"A"至"J",每次随机安排一个字母
Do While True '随机查找一个空位
p = Int(1 + 12 * Rnd) '产生1~12随机数
If t(p) = "Empty" Then
t(p) = Chr(h)
Exit Do
End If
Loop
Next h
For k = 1 To 12
Text1(k - 1).Text = t(k) '显示座位分配情况
Next k
End Sub