某车管所计划设计-款选车牌的程序,规则如下:
规则一:随机选取10个车牌号,其中2个车牌的尾数是字母,其余8个车牌的尾数是数字。
规则二:车牌尾数按从小到大排列。
规则三:若规则一随机选取的车牌中,第1个车牌尾数为数字,则经过规则二排列后,还需要将字母尾数车牌进行穿插,最终形成:数字一字母一数字一字母一数字一数字……;若规则一随机选取的车牌中,第1个车牌尾数为字母,则经过规则二排列后,还需要将字母尾数车牌进行穿插,最终形成:字母一数字一字母一数字一数字……
程序运行后,列表框List1中显示随机选取的车牌,单击“排序”按钮,在列表框List2 中显示按以上规则排序后的待选车牌。
(1)
该界面中至少用到(填数字)类控件。
(2)
实现上述功能的VB程序如下,请在划线处填入合适的代码。
Const n = 10
Dima(1 To 10) As String
Private Sub Form_ Load( )
'从数据库里随机选取10个车牌号(其中有2个尾号带字母),车牌号依次存储于数组a(1)至a(10),代码略
End Sub
Private Sub Command1_ Click( )
If Then
m= 1
Else
m=0
End If
For i=1 To n-1
k=i
For j=i+1 To n
If Then k=j
Next j
If k <> i then tmp=a(k): a(k)=a(i):a(i)= tmp
Next i
pos= 9
For i=0 To 1
j=
tmp = a(pos)
Do While j>=m+1+2*i
a(j+1)=a(j)
j=j-1
Loop
pos= pos+1
Next i
For i=1 To 10
List2.AddItem a(i)
Next i
End Sub
Function judge(s As String) As Boolean
If Mid(s,7)>。="0"AndMid(s,7)<<="9"Then
judge = True
Else
judge = False
End If
End Function
(3)
程序中加框处代码有误,请改正。
答案: 【1】4
【1】Mid(a(k),7,1)> Mid(a(j),7,1)【2】pos- 1(或 8+i)【3】a(j+1)= tmp
judge(a(1))= True