试题 试卷
题型:单选题 题类:模拟题 难易度:困难
浙江省杭州市2016年信息技术高考模拟卷七
请根据算法将下列程序补充完整。
Dim a(1 To 45) As String
Dim b(1 To 45) As Integer
Private Sub FormLoad()
a(1) = "中国"
b(1) = 308 ‘45个代表团名称及奖牌数分别放在a(1)到a(45)及b(1)到b(45)中
End Sub
Private Sub Command1Click()
Dim i As Integer,j As Integer
Dim t As Integer,f As Integer
List1.Clear
For i = 1 To 3
For j = {#blank#}1{#/blank#}To 2 Step -1
If {#blank#}2{#/blank#}Then
f = a(j): a(j) = a(j - 1): a(j - 1) = f
t = b(j): b(j) = b(j - 1): b(j - 1) = t
End If
Next j
Next i
List1.AddItem "第" + Str(i) + "名" + a(i) + " 奖牌数" + Str(b(i))
实现上述功能的VB代码如下,但加框处代码有错,请改正。
Dim a(1 To 8) As Integer
Dim n As Integer
Private Sub Form_Load()
'n=8,排序前数据存储在数组a中,并在列表框List1中显示
'代码略
Private Sub Command1_Click()
Dim flag As Boolean 'flag值为True表示一遍加工中发生过交换
i=1
flag=True
Do While i<=n-1 Or flag=True '(1)
flag=False
For j=n To i+1 Step -1
If a(j)<a(j-1) Then
k=a(j):a(j)=a(j-1):a(j-1)=k
i=i+1
Loop
Label3.Caption="排序过程的加工遍数为"+Str(i) '(2)
For i=1 To n
List2.AddItem Str(a(i))
⑴{#blank#}1{#/blank#} ⑵{#blank#}2{#/blank#}
s = "adobe": ans = ""
For i = 1 To Len(s)
A(i) = Mid(s, i, 1)
k = i
For j = i To Len(s) Step 2
If a(j) < a(k) Then k = j
If k <> i Then t = a(k): a(k) = a(i): a(i) = t
Ans = ans + a(i)
label1.Caption = ans
该程序段运行后,标签Label1中显示的内容是( )
Dim a(1 To 10) As Integer
Dim flag As Boolean
Dim i As Integer, j As Integer, tmp As Integer
随机生成10个不重复的数据存入数组A中,代码略
For i=2To 10
tmp= a(i)
j=i
Do While ① And Not flag
a(j)=a(j-1)
j=j-1
②
a(j)=tmp
要实现上述功能,方框①②中的语句分别是( )
p=l:q=10.
Do While p<q
iMin=p:iMax=p
For i=p+1 To q
If a(i)< a(iMin)Then iMin =i
If a(i)> a(iMax)Then iMax = i
t = a(iMin):a(iMin)= a(p):a(p)= t
t = a(iMax):a(iMax)= a(q):a(q)= t
p = p + 1
q=q-1
要使程序实现上述算法思想,则方框中的语句是( )
For i = 1 To n -1
①
For j = i To n-1
If a(j) < a(k) Then k = j卷(信息技术)(一) 第4页(共 8 页)
s = a(i): a(i) = a(k): a(k) = s
则代码①中的语句为( )
试题篮