第6章答案

更新时间:2023-09-27 13:39:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、判断题

1.数组中所有元素的数据类型不一定相同。

2.可以在程序中使用ReDim语句来改变动态数组的大小、维数和类型。 3.数组的下界一定是0。

4.定义数组时,其下界只能为正整数。

5.可以在通用的声明部分使用Option Base -1语句把数组下标下界的默认值设为-1。 6.在VB中,用Dim定义数组时,数组元素将自动赋初值为0。 二、选择题

1.定义数组A(1 To 5,5)后,下列哪一个数组元素不存在 。

A.A(1,1) B.A(1,0) C.A(0,1) D.(5,5)

2.在过程中定义Dim A(1 To 10,3 )As Single,则数组占用 字节的内存空间。

A.132 B.80 C.160 D.120

3.下列关于数组的说法正确的是 。

A.在VB中,一个数组中所包含的元素只能是相同类型的数据 B.在VB中,数组只能在模块中定义,不能在过程中定义模块 C.同普通变量一样,数组也可以不定义,先使用

D.在定义数组时,数组的每一维元素的个数必须是常数,不能是变量或表达式 4.使用语句Dim A() As Integer声明数组A之后,以下说法正确的是 。 A.A数组中的所有元素值为0 B.A数组中的所有元素值不确定 C.A数组中的所有元素值为Empty

D.再执行语句ReDim A(1 to 10) As Integer后,A数组中的所有元素值不为0

5.已知数组b中的5个元素分别是1,3,5,7,9,现将数组b中的5个数逆序存放(即排列为9,7,5,3,1)。为实现此功能,正确的程序段应该是: 。

A.For i = 0 To 5-1\\2: temp = b(i): b(i) = b(5 - i - 1): b(5 - i - 1) = temp: Next i B.For i = 0 To 5: temp = b(i): b(i) = b(5 - i - 1): b(5 - i - 1) = temp: Next i C.For i = 0 To 5\\2: temp = b(i): b(i) = b(5 - i - 1): b(5 - i - 1) = temp: Next i D.For i = 1 To 5\\2: temp = b(i): b(i) = b(5 - i - 1): b(5 - i - 1) = temp: Next i

6.在窗体上画一个命令按钮,然后编写如下事件过程:

Option Base 1

Private Sub Command1_Click()

Dim a(1 To 4) As Integer, i As Integer, j As Integer, s As Long For i = 1 To 4: a(i) = i: Next i j = 1

For i = 4 To 1 Step -1 s = s + a(i) * j j = j * 10 Next i Print s End Sub

运行上面的程序,单击命令按钮,其输出结果是 。

A.4321 B.12 C.34 三、程序填空题

D.1234

1.以下代码是对冒泡法排序(升序)的改进,具体方法为:当某一趟比较中没有交换发生,则认为排序完毕,而不管比较趟数是否达到N-1次。

Const N=30

Private Sub Form_Click() Dim A(N) As Integer

Dim i As Integer, j As Integer, t As Integer For i = 1 To N

A(i) = Int(Rnd * 99 + 1) Next i

For i = N To 2 Step -1 For j = 1 To (1) If A(j) > A(j + 1) Then

(2) End If Next j Next i

For i = 1 To N (3)

If i Mod 6 = 0 Then Print Next i End Sub

2.下面的过程用来输出如图6.3所示,但不完整,请在横线上填入必要的内容,使其完整。

图6.3 输出结果图

Option Base 1

Private Sub Form_Click() Dim a(5, 5) As Integer

Dim i As Integer, j As Integer For i = 1 To 5

For j = 1 To 5 If j <= i Then (1)

End If

Print a(i, j); \Next j

(2) Next i End Sub

3.下面的程序用随机函数生成有n(n>10)个数值元素的一维数组,求出这个数组元素的最大值、最小值和它们的平均值。根据题意,完成下列程序:

Private Sub Command1_Click()

Dim x() As Integer, n As Integer, sum As Double Dim i As Integer, max As Integer, min As Integer Do

n = InputBox(\请输入一个大于10的数\ Loop Until (1) ReDim (2) Randomize

Print \产生的\个随机整数是:\ x(1) = Int(1000 * Rnd) + 1

max = x(1): min = x(1): sum = x(1) Print x(1);

For i = (3)

x(i) = Int(100 * Rnd) + 1

If x(i) > max Then max = x(i)

If x(i) < min Then min = x(i) sum = sum + x(i) Print x(i); Next i Print

Print \最大值是:\ Print \最小值是:\

Print \平均值是:\(4) End Sub

4.下面的程序用于输出由数字组成的如图6.4所示的杨辉三角形图案。

图6.4 杨辉三角形

Private Sub Form_Click() Const n = 8

Dim a(n + 1) As Byte, i As Integer, j As Integer Dim s As String '给数组a赋初值

For i = 1 To n + 1 a(i) = 0 Next i

'计算并打印第一个数 a(1) = 1

Form1.Print Space(2 * n + 2); '计算数字前的空格数 Form1.Print a(1) '计算其余行的数并打印

For i = 2 To (1) a(i) = a(i - 1)

For j = (2) To 2 Step -1 (3) Next j

Form1.Print Space((n - i + 1) * 2); For j = 1 To i

s = Trim(Str( (4) ))

Form1.Print Space(Int((4 - Len(s)) / 2 + 0.5)) + s + _

Space(Int((4 - Len(s)) / 2 + 0.5));

Next j

Form1.Print Next i End Sub

四、程序阅读题

1. 写出程序运行后,单击窗体Form1上显示的内容。

Private Sub Form_Click()

Dim ary(1 To 4) As Integer Dim i As Integer Dim Sum As Integer For i = 1 To 4 ary(i) = i

Sum = Sum + ary(i) Print ary(i); Next i Print

Print \End Sub

2.写出单击窗体后程序执行的结果。

Private Sub Form_Click() Dim a(1 To 10) Dim P(1 To 3) k = 5

For i = 1 To 10

a(i) = i Next i

For i = 1 To 3

a(i) = a(i * i) Next i

For i = 1 To 3

k = k + P(i) * 2 Next i Print k End Sub

3.写出单击窗体后程序执行的结果。

Private Sub Form_Click()

Dim A(4, 4) As Integer, k As Integer, j As Integer, t As Integer For k = 1 To 4 For j = 1 To 4 A(k, j) = j

Form1.Print A(k, j); Next j Print Next k

Form1.Print For k = 2 To 4 For j = 1 To k

t = A(k, j): A(k, j) = A(j, k): A(j, k) = t Next j Next k

For j = 1 To 4

Form1.Print A(j, 1); A(j, 2); A(j, 3); A(j, 4) Next j End Sub

4.写出程序执行的结果。

Private Sub Form_Click() Dim A(4, 4) As Integer

Dim c As Integer, r As Integer

Dim i As Integer, j As Integer, k As Integer c = 4: r = 1: i = 1: j = 1 For k = 1 To 16

A(i, j) = k

If i < c And j = r Then i = i + 1

Elseif i = c And j < c Then j = j + 1

Elseif i > r And j = c Then i = i - 1

Elseif i = r And j > r + 1 Then

j = j - 1 End If

If i = r And j = r + 1 Then c = c - 1 r = r + 1 End If Next

For i = 1 To 4 For j = 1 To 4

Print Tab(j * 4); A(i, j); If j = 4 Then Print Next j Next i End Sub

本文来源:https://www.bwwdw.com/article/mr4d.html

Top