For i = 1 To 7
For j = 8 To i+1 step -1
If sz(j) < sz(j-1) Then
tmp = sz(j): sz(j) = sz(j-1): sz(j-1) = tmp
End If
Next j
Next i
数组元素sz(1)到sz(8)的原始数据依次为" 5.2,4.5,4.1,3.5,8.3,7.4,3.8,7.5"。则第3遍排序"加工"后数组元素sz(1)到sz(8)的数据依次是( )
For i=1 to 3
For j=1 to 5-i
If a(j)>a(j+1) Then
t=a(j) : a(j)=a(j+1) : a(j+1)=t
End If
Next j
Text1.Text = Text1.Text + Str(a(i))
Next i
数组元素a(1)到a(5)的值依次为“3,9,6,8,4”。若该程序段执行后,文本框Text1显示的内容是( )
S=“7218634594”:n=Len(s)
t=0
For i=1 To n-1
a(i)=Val(Mid(s,i,2))
Next i
For i=1 To n-2 Step 2
k=i
For j=i+2 To n-1 Step 2
If a(i)<a(k)Then k=j
Next j
If k<>i Then
temp=a(i):a(i)=a(k):a(k)=temp:t=t+1
End If
Next i
Text1.Text=Str(t)
运行程序段后, t的值为( )
实现上述功能的VB代码如下,但加框处代码有错,请改正。
Dim a(1 To 100) As Integer
Sub sort(left As Integer,right As Integer)
Dim i As Integer,j As Integer,t As Integer
For i=1 To right-left
For j= '
If a(j)>a(j+1) Then
t=a(j):a(j)=a(j+1):a(j+1)=t
End If
Next j
Next i
End Sub
Private Sub Command1_Click()
Dim p As Integer,q As Integer
Dim i As Integer,j As Integer,n As Integer,x As Integer
Randomize
n=Val(Text1.Text):Text2.Text=″ ″:Text3.Text=″ ″
p=0
'
For i=1 To n
x=Int(Rnd*100)
Text2.Text=Text2.Text+Str(x)
If x Mod 2=0 Then
p=p+1
a(p)=x
Else
q=q-1
a(q)=x
End If
Next i
Call sort(1,p)
Call sort(p+1,n)
For i=1 To n
Text3.Text=Text3.Text+Str(a(i))
Next i
End Sub
Dim a(1 To 1000) As Single, b(1 To 1000) As Integer Private Sub Form_Load()
Randomize '生成 1000 个随机数 For i = 1 To 1000
① '产生随机数,保留二位小数
b(i) = 1 '初始排位为 1
List1.AddItem "a(" & i & ")=" & a(i) Next i
End Sub
Private Sub Command1_Click()
Dim ks As Integer, js As Integer
ks = Val(Text1.Text)
js = Val(Text2.Text)
For i = ks To js
For j = ks To js
If Then b(i) = b(i) + 1 ②
Next j
Text1 Text2
List2.AddItem "a(" & i & ")" & "在 a(" & ks & ")~a(" & js & ")中排位为" & b(i) Next i
End Sub
① ②
实现上述功能的VB程序如下:
Dim a(1 To 8)As Integer ‘存储道次编号
Dim b(1 To 8)As Single ‘存储运动员成绩
Dim num As Integer
Private Sub Command1_Click()
Dim i As Integer, j As Integer, k As Integer, p As Integer
Dim t As Single
For i=1 To 7
k=i
For j=i+1 To 8
If Then
k=j
End If
Next j
If k<>i Then
p=a(i):a(i)= a(k):a(k)= p
t=b(i):b(i)= b(k):b(k)= t
End If
Next i
For i=1 To 8
List2.AddItem Str(a(i))&“道:”& Str(b(i))
Next i
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer) ’按回车键录入比赛成绩
Dim cj As Single
If KeyAscii=13 Then ‘是否为回车键
num=num+1
cj=Val(Text1.Text)
If cj>0 And num<=8 Then
a(num)= num
List1.AddItem Str(a(num))&“道:”&Str(b(num))
Else
MsgBox “输入无效”
End If
Text1.Text=“”
End If
End Sub
Dim a(1 To 10) As Integer
Private Sub Command1 Click()
Dim i As Integer, j As Integer, x As Integer p = True
i = 1
Do While i <= 9 And p p= False
For j = 10 To i + 1 Step -1
If Then '①
k = a(j): a(j) = a(j - 1): a(j - 1) = k: p = True
End If
Next j
i = i + 1
Loop
For i = 1 To 10
List2.AddItem Str(a(i)) Next i
End Sub
Private Sub Form_Load()
Dim i As Integer
List1.Clear
Randomize '初始化随机函数 Rnd
For i = 1 To 10
a(i) = '②
List1.AddItem
Str(a(i))
Next i
End Sub
① ②
For m=1 To 9
p=m
For n = m+1 To 10
Next n
If p<>m Then
tt=(p): (p)=d(m): d(m)=tt
End If
Next m
划线处的语句是( )
′待排序数据已存储在数组a中(a(1)~a(n))
For i = 1 To n - 2
k = i
For j = ′①
If a(j) > a(k) Then k = j
Next j
If k <> i Then t = a(i): a(i) = a(k): a(k) = t
Next i
For i = 1 To n \ 2
j = 2 * i - 1
If a(j) < a(j + 1) Then t = a(j): a(j) = a(j + 1): a(j + 1) = t
Next i
For i = ′②
t = a(i): j = i - 1
Do While t > a(j)
a(j + 1) = a(j): j = j - 1
Loop
′③
Next i
上述程序段中 3 处方框处的代码分别为 ( )
For i= 1 To 2
For j=5 To i+1 Step-1
If a(j) >a(i) Then
t=a(j):a(j)=a(i):a(i)=t
End If
Next j
Next i
数组元素a(1)到a(5)的值依次为“33,24,45,16,77”,经过该程序段“加工”后,数组元素a(1)到a(5)的值依次为( )
Const n=9
k = 1
For i = 1 To (n + 1) / 2 - 1
For j = 1 To n - i * 2
If a(j) * k < a(j + 2) * k Then
t = a(j): a(j) = a(j + 2): a(j + 2) = t
End If
k = -k
Next j
Next i
For i = 1 To (n + 1) \ 2
List2.AddItem Str(a(2 * i - 1))
Next i
已知数组元素 a(1)~a(9)分别是8、6、2、9、6、3、8、11、5,执行程序后list2输出的结果分别是( )
For i = 1 To n - 1
For j=____________
If a(j) < a(j - 1) Then
t=a(j):a(j)=a(j-1):a(j-1)=t
End If
Next j
Next i
为了使此程序段能实现数组a中的数据升序排列,则划线处应填入的代码是( )
Private sub command1_click()
Dim a(1 to 20) as integer,b(1 to 20) as integer,i as integer
Dim j as integer,t as integer,p as integer,k as integer,xiaofen as integer
‘从文本框读取AB两队各场的比分分别存数组a、b,场次k,代码略
For i=1 to k-1
For j= 1 to ①
If ② then
t=a(j):a(j)=a(j+1):a(j+1)=t
t=b(j):b(j)=b(j+1):b(j+1)=t
End if
Next j
Next i
p=0 : xiaofen=0
For i=1 to k
If a(i)>b(i) then ③
xiaofen = xiaofen+a(i)-b(i)
List1.Additem str(a(i)) + “:”+ str(b(i))
Next i
If p*2>k or k=p*2 and xiaofen>0 then
Text2.text = “A队获胜”
Elseif then
Text2.text = “B队获胜”
Else
Text2.text = “两队平局”
End if
End sub
① ② ③
m = a(1) : s = 0
For i = 2 To 5
If a(i) > m Then m = a(i)
s = s + m
Next i
数组元素a(1)到a(5)的值依次为“1,3,4,2,3”,执行该程序段后,变量s的值为( )
i=1: j=n
Do While i<=j
m=(i +j)\2
If Then
i= m+1
Else
j=m- 1
EndIf
Loop
Text1.Text=
若要实现上述功能,方框处的代码应是( )
For i=1 To 3
For j=i+1 To 7
If a(j)< a(i) Then
k= a(j): a(j)= a(i): a(i)=k
c=c+1
End If
Next j
s= Str(a(i))+s
Next i
Text1.Text=Str(c) & ":" & s
数组元素a(1)至a(7)中值分别为3,9,1,5,8,6,2,该程序段运行后,文本框Text1中显示的内容是( )
m= Int(Rnd*3+1)*2
For i=1 To 6-m
For j=6 To i+ 1 Step-1
If a(j)<a(j- 1)Then t= a(j): a(j)= a(j- 1);a(j- 1)=t
Next j
Next i
数组元素a(1)到a(6)的值依次为"98,67,3, 81,38,21", 执行该程序段后,a(1)~a(6)各元素值不可能是( )
'生成6个随机正整数,依次存入数组元素a (1)到a (6)中
For i=1 To 2
For j=6 To i+1 Step-1
If a(j) Mod 2>a(j-1) Mod 2 Then
t=a(j):a(j)=a(j-1):a(j-1)=t
End If
Next j
Next i
执行上述程序段后,a (1)到a (6)各元素值依次为3,1,4,3,7,6,下列选项不是排序前a(1)到a(6)各元素值依次元素值的( )
d(0) = 100
For i = 1 To 5
k = i
For j = i + 1 To n
If d(j) < d(i - 1) Then
If ① Then k = j
End If
Next j
If i <> k Then t = d(i): d(i) = d(k): d(k) = t
Next i
则代码中①处的语句为( )