最大值、最小值和它们的平均值。根据题意,完成下列程序:
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
第六章答案 一、判断题 1.错 2.错 3.错
4.错(可以为小数,不过仍然是当作整数来处理) 5.对 6.错
二、选择题 1.C 2.C 3.A 4. C 5. C 6. D
三、程序填空 1.(1) n-i (2) t = a(j): a(j) = a(j + 1): a(j + 1) = t(3)Print a(i) 2.(1)a(i, j) = 1 (2)Print 3. (1)n>10 (2)x(1 to n) as Integer (3)2 to n (4)sum/n 4. (1)n+1 (2)i-1 (3)a(j)+a(j-1) (4)a(j) 四、程序阅读 1. 1 2 3 4 Sum=10 2.5 3. 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 4.(前面空4个空格)
1 12 11 10
2 13 16 9 3 14 15 8 4 5 6 7
五、程序设计题
1、交换元素
Private Sub Command1_Click()
Dim a(1 To 20) As Integer, i As Integer, t As Integer For i = 1 To 20
a(i) = Int(Rnd * 90) + 10 Next i
Print \交换前的数为:\For i = 1 To 20 Print a(i);
If I mod 10=0 then print Next i Print
For i = 1 To 10
t = a(i): a(i) = a(11 - i): a(11 - i) = t Next i
Print \交换后的数为:\For i = 1 To 20 Print a(i);
If I mod 10=0 then print Next i End Sub
2.求最大元素和行、列坐标 Private Sub Form_click()
Dim a(1 To 5, 1 To 5) As Integer, i As Integer, j As Integer Dim max As Integer, maxi As Integer, maxj As Integer Dim min As Integer, mini As Integer, minj As Integer min = 20 For i = 1 To 5 For j = 1 To 5
a(i, j) = Int(Rnd * (11)) + 10 If a(i, j) > max Then max = a(i, j) maxi = i maxj = j End If
If min > a(i, j) Then min = a(i, j) mini = i