把两个按升序排列的数列a(1),a(2),…,a(n)和b(1),b(2),…,b(m),合并成一个仍为升序排列的新数列.
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/05 22:30:50
![把两个按升序排列的数列a(1),a(2),…,a(n)和b(1),b(2),…,b(m),合并成一个仍为升序排列的新数列.](/uploads/image/z/2571705-9-5.jpg?t=%E6%8A%8A%E4%B8%A4%E4%B8%AA%E6%8C%89%E5%8D%87%E5%BA%8F%E6%8E%92%E5%88%97%E7%9A%84%E6%95%B0%E5%88%97a%281%29%2Ca%282%29%2C%E2%80%A6%2Ca%28n%29%E5%92%8Cb%281%29%2Cb%282%29%2C%E2%80%A6%2Cb%28m%29%2C%E5%90%88%E5%B9%B6%E6%88%90%E4%B8%80%E4%B8%AA%E4%BB%8D%E4%B8%BA%E5%8D%87%E5%BA%8F%E6%8E%92%E5%88%97%E7%9A%84%E6%96%B0%E6%95%B0%E5%88%97.)
把两个按升序排列的数列a(1),a(2),…,a(n)和b(1),b(2),…,b(m),合并成一个仍为升序排列的新数列.
把两个按升序排列的数列a(1),a(2),…,a(n)和b(1),b(2),…,b(m),合并成一个仍为升序排列的新数列.
把两个按升序排列的数列a(1),a(2),…,a(n)和b(1),b(2),…,b(m),合并成一个仍为升序排列的新数列.
你没说用什么编啊,我是vb编的
一
Private Sub Command1_Click()
Dim c() As Single
al = LBound(a)
ae = UBound(a)
bl = LBound(b)
be = UBound(b) - bl
ReDim c(ae - al + 1 + be)
cl = 0
Do
If al > ae Then
c(cl) = b(bl)
cl = cl + 1
bl = bl + 1
ElseIf bl > be Then
c(cl) = a(al)
cl = cl + 1
al = al + 1
ElseIf a(al) < b(bl) Then
c(cl) = a(al)
cl = cl + 1
al = al + 1
Else
c(cl) = b(bl)
cl = cl + 1
bl = bl + 1
End If
Loop Until al > ae And bl > be
end sub
二
Private Sub Command1_Click()
Dim a(1 To 100) As Integer
Dim b() As Integer
List1.Clear
List2.Clear
For i = 1 To 100
a(i) = Rnd() * 21
List1.AddItem a(i)
If a(i) 0 Then
bn = bn + 1
ReDim Preserve b(bn)
b(bn) = a(i)
List2.AddItem a(i)
End If
Next i
Label1 = "共产生了" & 100 - bn & "个零."
End Sub
题目有误