VB课后实验6答案

  • 格式:doc
  • 大小:60.50 KB
  • 文档页数:8

下载文档原格式

  / 8
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 = ""