学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.15
所属科目:高中信息技术
有n个从小到大排列的正整数依次存储在数组a中,另有m(m<n)个正整数存储在数组b中。现要求只保留上述n+m个数据中从小到大排列的前n个数据,并依次存人数组a中,其余数据被剔除。
小李为了解决该问题,首先结合数组a的有序性,找出a,b两个数组中要剔除的m个数据,再将数组b中保留的数据插入到数组a中。示例如下:
n=10,数组a:2,4,6,8,10,12,14,16,1820
m=5,数组b:41,11,17,29,9
处理后的数组a:2,4,6,8,9,10,11,12,14,16

(1)若n=8,m=4,数组a的元素依次为“3,4,6,10,13,14,21,25”,数组b的元素依次为“3,18,7,15”,按上述要求剔除m个数据后,数组b中保留的数据个数为______
(2)实现上述功能的部分VB程序如下,请在划线处填入合适的代码。
Const n=1000,m=50
Dim a(1 To n)As Integer,b(1 To m)As Integer
Function getImax(k As Integer)As Integer

'在数组元素b(1)~b(k)中找出值最大的元素,返回其下标,代码略


End Function
Private Sub Commandl_Click( )

Dim i As Integer,j As Integer,k As Integer

Dim na As Integer,nb As Integer,imax As Integer,mean As Integerd

'读取数据分别存人数组a、b,代码略

na=n:nb=m

imax=getImax(nb)

For i=1 To m

If a(na)<= ___ Then

b(imax)=b(nb)

nb=nb-1

If nb>0 Then imax=getImax(nb)

Else

na=na-1

End If

Next i

Do While nb>0

i=1:j=na

imax= agetImax(nb)

Do While i<=j

mean =(i+j)\2

If a(mean)<b(imax) Then i= mean +1 Else j=mean-1

Loop

For k=na To iStep-1

___

Next k

a(i+nb-1)=b(imax)

b(imax)=b(nb)

____

nb=nb-1

Loop

'输出数组a,代码略


End Sub
编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19
我要答疑
编写解析
解析:

奖学金将在审核通过后自动发放到帐

提交
我要答疑
我要答疑:
提交