VISUAL BASIC程序设计上机考试试题及答案

  • 格式:pdf
  • 大小:115.02 KB
  • 文档页数:10

下载文档原格式

  / 10
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.某数组有20个元素,其值为随机产生的两位整数。现要求将前10个元素与后10个元素对换。即第1个元素与第20个元素互换,第2个数与第19个元素互换,…,第10个元素与第11个元素互换。在窗体上输出数组原来各元素的值与对换后各元素的值。

Option Explicit

Dim a(1To20)As Integer,i As Integer,j As Integer,t As Integer

Private Sub Form_Load()

Show

Print"原始数组是:"

Randomize

For i=1To20

a(i)=Int(Rnd*90)+10

Print a(i);

Next i

Print

Print"现在数组是:"

For i=1To10

j=21-i

t=a(i):a(i)=a(j):a(j)=t

Next i

For i=1To20

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=0To 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=0To9

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=0To c

b=n-a(i)

If b<=0Then

For j=c+1To i+1Step-1

a(j)=a(j-1)

Next j

a(i)=n

Exit For

End If

Next i

If i=c+1Then a(c+1)=n

For i=0To 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=0To c

Print a(i);

Next i

End Sub

4.6个评委为4位歌手打分,分数介于1-100之间。去掉一个最高分,一个最低分,求出每位选手的最后得分。将4位歌手得分从高到低排列输出,同时输出该选手的编号。

如:歌手395分

歌手187分

歌手480分

歌手270分

Option Explicit

Dim a(4)As Integer,m(4)As Integer,i As Integer,j As Integer,t As Integer,min As Integer,max As Integer, p As Integer

Dim s(4)As Integer

Private Sub Form_Load()

Show

For i=1To4

s(i)=0

min=100:max=1

For j=1To6

a(i)=InputBox("第"&j&"个评委给"&i&"打分1-100")

s(i)=s(i)+a(i)

If a(i)>max Then max=a(i)

If a(i)

Next j

a(i)=(s(i)-min-max)/4

m(i)=a(i)

Next i

For i=1To3

p=i

For j=i+1To4

If a(j)>a(p)Then p=j

Next j

t=a(i):a(i)=a(p):a(p)=t

Next i

For i=1To4