习题五
1. 指定数组的默认下界 Option Base 1
2.合理的数组声明
(1)错。定义数组不可用变量(教材99页)。
(2)正确。该数组下标为0-11。
(3)错。VB中数组下标用圆括号。
(4)正确。三维数组三个下标分别为0-1,0-1,0-2,共12个元素。
(5)错误。非动态数组,不可重定义。
(6)错误。动态数组重定义时不可改变数据类型。
(7)正确。二维数组两个下标分别为0-2,0-3,共12个元素。
(8)语法错误,二维数组定义中漏写逗号——可能是印刷错误,加上此逗号则正确。
3.当引用数组元素时下标值小于定义的最小下标,或大于最大下标时,会发生“下标越界”错误。
4.数组名:a ;数组类型:Single(单精度浮点型);维数:二维;
各维的上下界:第一维下界(最小下标)为 -1,上界(最大下标)为2,
第二维下界(最小下标)为 0,上界(最大下标)为3;
数组的大小:4行4列共16个元素
以矩阵的格式输出二维数组:
For i = -1 To 2
For j = 0 To 3
Print a(i, j);
Next j
Print
Next i
或写成更加通用的代码形式:
For i = LBound(a, 1) To UBound(a, 1)
For j = LBound(a, 2) To UBound(a, 2)
Print Tab(j * 8); a(i, j);
Next j
Print
Next i
6.一维字符数组
Dim a(1 To 20) As String
Private Sub Command1_Click() '(1)随机产生字符串
Dim i As Integer, j As Integer, n As Integer, c As String * 1
Randomize
For i = 1 To 20
a(i) = "" '将第i个元素清空
n = Int(Rnd * 10 + 1) '产生[1,10]的随机数
For j = 1 To n 'a(i)中有n个字符
c = Chr(Int(Rnd * 26 + 97)) '随机产生字母97是字母a的ASCII码
a(i) = a(i) + c
Next j
Next i
End Sub
Private Sub Command2_Click() '(2)输出字符串
Dim i As Integer
For i = 1 To 20
Print Tab(((i - 1) Mod 5) * 11); a(i);
If i Mod 5 = 0 Then Print
Next i
End Sub
Private Sub Command3_Click() '(3)最长的字符串
Dim i As Integer, imax As Integer
imax = 1
For i = 2 To 20
If Len(a(i)) > Len(a(imax)) Then
imax = i
End If
Next i
Print "最长的字符串:"; a(imax)
End Sub
第7,8题答案在教材中找。
第9题“自定义变量”含义不明,暂时无法回答。
第5,10 题 [暂略]