VB课后实验6答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验6 数组
6-1
Private Sub Command1_Click()
Dim i As Integer, j As Integer
Dim a(10) As Integer, t As Integer
Print "交换前数据:"
For i = 1 To 10
a(i) = ……‘生成20-80之间的随机数
Print ……;‘注意这里用分号,表示在一行上紧密输出各数组元素的值,
‘如不用分号和逗号,则分行输出各数组元素的值。
Next i
Print ‘输出空行,表示后面的输出换到新的一行。
For i = 1 To 10 \ 2 ‘这里必须是10\2,表示交换5次,即可实现两两数据交换(第一'
个和最后一个的交换,第二个和第九个的交换,以此类推)
‘以下实现数据交换,必须通过第三个变量实现两两数据交换
t = a(i)
a(i) = a(10 - i + 1)
a(10 - i + 1) = t
Next i
Print "交换后数据:" ‘必须单独做循环输出数据,不能放在上面的循环里输出,因为上
面循环只有5次,只能输出5个元素。
For i = 1 To 10
Print ……;
Next i
End Sub
6-2
Private Sub Command1_Click()
Dim a(10) As Integer, i As Integer, aver As Integer
Dim max As Integer, imax As Integer
Dim min As Integer, imin As Integer, sum As Integer
Print "输入评委的评分"
‘①输入数组元素
For i = 1 To 10
a(i) =……
if a(i)<5 or a(i)>10 then
‘出错信息
‘i控制变量作何处理?
endif
Next i
‘②输出数组元素
For i=1 to 10
Print ……;
Next i
Print ‘换行
‘③开始对数组元素进行处理
imax = 1: imin = 1: sum = a(1): max = a(1) ‘imax表示最大元素的下标值,imin表示最小元素的下标值,max变量表示最大值,sum表示元素和变量。
min = a(1)‘min变量表示最小值,初值一定要在循环体外赋值,不然min=0,输入的数组元素值如果都>0,那min永远都为0.
For i = 2 To 10
If max < a(i) Then ……‘找最大值及下标
If min > a(i) Then ……‘找最小值及下标
sum = ……‘求数组元素和
Next i
‘④输出结果
aver = (sum - a(imax) - a(imin)) / 8‘求平均值aver = (sum - max - min) / 8 Print "选手的得分为:"
Print aver
End Sub
6-3
‘通用处定义窗体级变量
Option Explicit
Option Base 1
Dim a(5, 5) As Integer‘定义窗体级变量,以便在下面的4个命令按钮的click 事件中使用该数组
Private Sub Command1_Click()
Dim i As Integer, j As Integer ‘不可以再次定义a(5,5),否则a(5,5)只能在command1中有用,在其他命令按钮事件中不起作用。
‘二维数组元素的赋值用二重循环控制
For i = 1 To 5
For j = 1 To 5
a(i, j) = Val(InputBox("输入a(" & i & "," & j & ")的值")) ‘此写法在输
入对话框中可显示数组元素的下标值。
Next j
Next i
End Sub
Private Sub Command2_Click()
Dim i As Integer, j As Integer
‘用二重循环控制二维数组元素的输出
……
Picture1.Print Mid(Str(a(i, j)) & " ", 1, 3); Spc(4); ’为了在输出时每列元素列对齐
……
‘用Picture1.Print输出空行
……
End Sub
Private Sub Command3_Click()
Dim imax As Integer, max As Integer, jmax As Integer ‘imax表示最大值元素的下标,imin表示最小值元素的下标,max表示最大元素
Dim sum1%, sum2%, sum3%
Dim i As Integer, j As Integer
For i = 1 To 5
For j = 1 To 5
If 条件 Then
max =……: imax = ……: jmax =……
End If
If 条件 Then sum1 = ……‘i=j时,主对角线上的元素
If 条件 Then sum2 = ……‘i If 条件 Then sum3 = ……‘i>j时,下三角元素 Next j Next i Label1.Caption = "最大元素为a(" & imax & "," & jmax & ")=" & max Label2.Caption = "对角线元素之和为" & sum1 Label3.Caption = "上三角元素之和为" & sum2 Label4.Caption = "下三角元素之和为" & sum3 End Sub Private Sub Command4_Click() Picture1.Cls ‘清屏 Label1.Caption = ""