VisualBasic程序设计上机考试试题及答案.doc
文本预览下载声明
1. 某数组有20个元素,其值为随机产生的两位整数。现要求将前10个元素与后10个元素对换。即第1个元素与第20个元素互换,第2个数与第19个元素互换,…,第10个元素与第11个元素互换。在窗体上输出数组原来各元素的值与对换后各元素的值。
Option Explicit
Dim a(1 To 20) As Integer, i As Integer, j As Integer, t As Integer
Private Sub Form_Load()
Show
Print 原始数组是:
Randomize
For i = 1 To 20
a(i) = Int(Rnd * 90) + 10
Print a(i);
Next i
Print
Print 现在数组是:
For i = 1 To 10
j = 21 - i
t = a(i): a(i) = a(j): a(j) = t
Next i
For i = 1 To 20
Print a(i);
Next i
End Sub
2. 从数组中删除一个数。先定义一个一维数组,大小、数组的值自定。从键盘上输入一个数,若这个数在数组当中,就把它删除;若这个数不在数组中,提示“该数不在数组中”
注意:1)如果数组中存在多个与该数相同的元素,每一个都能删除;
2)能实现多次删除
Option Explicit
Dim a() As Integer, i As Integer, j As Integer, n As Integer, k As Integer, m As Integer
Dim f As Boolean
Private Sub Command1_Click()
n = InputBox(查找的数是:, 请输入)
i = 0: f = False
Do
If a(i) = n Then
j = i: f = True
For k = j To UBound(a) - 1
a(k) = a(k + 1)
Next k
ReDim Preserve a(UBound(a) - 1)
i = i - 1
End If
i = i + 1
Loop While (i = UBound(a))
If f = False Then
MsgBox n 不在该数组中
Else
Print 删除 n 后的数组是:
For i = 0 To UBound(a)
Print a(i);
Next i
End If
Print
End Sub
Private Sub Form_Load()
Show
ReDim a(9) As Integer
m = 1
Print 原来数组为:
For i = 0 To 9
a(i) = InputBox(请输入第 m 个数:)
Print a(i);
m = m + 1
Next i
Print
End Sub
3. 数组a中存放着升序排列的数据,使用array赋值,将inputbox输入的新数插入到数组中,插入后数组仍有序。
注意:要求利用动态数组,能够实现多次插入
Option Explicit
Dim a() As Variant, i As Integer, n As Integer, j As Integer, b As Integer, c As Integer
Private Sub Command1_Click()
Print
ReDim Preserve a(c + 1)
n = InputBox(插入的数是, 请输入)
For i = 0 To c
b = n - a(i)
If b = 0 Then
For j = c + 1 To i + 1 Step -1
a(j) = a(j - 1)
Next j
a(i) = n
Exit For
End If
Next i
If i = c + 1 Then a(c + 1) = n
For i = 0 To c + 1
Print a(i);
Next i
c = UBound(a)
End Sub
Private Sub Form_Load()
Show
ReDim a(9)
a = Array(3, 6, 9, 11, 15, 19, 33, 44, 56, 67)
c = UBound(a)
For i = 0 To c
Print a(i);
Next i
End Sub
4. 6个评委为4位歌手打分,分数介于1-100之间。去掉一个最高分,一个最低分,求出每位选手的最后得分。将4位歌手得分从高到低排列输出,同时输出该选手的编号。
如: 歌手3 95分
歌手 1 87分
歌手 4 80分
歌手 2 70分
Opt
显示全部