文档详情

VisualBasic程序设计上机考试试题及答案.doc

发布:2017-04-23约8.06千字共10页下载文档
文本预览下载声明
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
显示全部
相似文档