以下说法正确的是( )
i=1
Do While i<=5
If i=0 Or a(i-1)<=a(i) Then
i=i+1
Else
t=a(i) : a(i)=a(i-1) : a(i-1)=t
i=i-1
End If
Loop
数组元素a(0)到a(5)依次为:“0,61,22,43,89,27”,经过该程序段处理后,数组元素a(4)的值为( )
s="ERROR:Divisor must not be zero!"
flag=False:m=0
For i=1 To Len(s)
ch=Mid(s, i, 1)
If ch>="a" And ch <="z" Then
If Not flag Then
m=m+1:flag=True
End If
Else
flag=False
End If
Next i
Text1.Text=Str(m)
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显示的内容是( )
Dim a(1 To 9) As Integer
Dim m As Integer, k As Integer, i As Integer
a(1)=2 , a(2)=8 , a(3)=6 , a(4)=5 , a(5)=4 , a(6)=3 , a(7)=9 , a(8)=7 , a(9)= 1
m=1 : k=1
For i=2 To 9
If a(i)<a(i-1) Then
k=k+1
If k>m Then m=k
Else
k =1
End If
Next i
Text1. Text = Str(m)
该程序段运行后,文本框Text1中显示的内容是( )
Const n= 10
i=1 : j=n-1
Do While j-i>=2
m=(i+j) \ 2
If ⑴ Then
i= m
Else
⑵
End If
Loop
Text1. Text= Str(3) )
上述程序中(1)(2)(3)划线处可选语句有:
①a(j)-a(m)=j-m②a(m)-a(i)=m-i③j=m-1④j=m⑤a(i)+1⑥a(i)
则上述程序中(1)、(2)、(3)划线处的代码依次为( )
Private Sub Command1_Click( )
Dim a(1 To 100) As Integer
Dim i As Integer, j As Integer
Dim temp As Integer, k As Integer
Dim res As Integer, ed As Integer
'从文本框Text1中读入整数存储到数组a中,整数的个数存放在变量k中,代码略
For i=1 Tok\ 2-1 '以区间左边数据为主要关键字升序排序
For j=k\2 To i+1 Step-1
If Then
temp=a(j*2-1):a(j*2-1)=a((j-1)*2-1):a((j-1)*2-1)=temp.
temp=a(j*2):a(j*2)=a((j-1)*2):a((j-1)*2)=temp
End If
Next j
Next i
ed=a(2)
res= 0
For i=2 To k\2 '计算需要删除区间的最小数量
If Then
res=res+1
ed= min(ed, )
Else
ed=a(i * 2)
End If
Next i
Text2. Text= Str(res)
End Sub
Function min(x As Integer, y As Integer) As Inte-ger '函数功能:返回x与y的最小值
'代码略
End Function
按照某种理牌规则,先按纸牌点数从小到大整理,如果遇点数相同则再按花样♠♥♣◆(A~D)整理,约定俗成,点数3为最小纸牌,K(点数13)之后才是1,2为最大牌。
小催同学运用冒泡排序思想设计了一个去除大、小王后剩下的52张牌中随机抽取17张纸牌(在列表框1中显示),并按上述理牌规则模拟理牌,将理好的纸牌在列表框2中输出的程序。
程序运行界面如图所示。请回答以下问题:
Const n= 17
Dim s(1 To 17) As String
Private Sub FP_ Click( )
Randomize
For i=1 To n
s(i)= &. Int(Rnd * 13 + 1) '随机产生一张牌,注:A的ASCII码为65
For j=1 To i-1 '此程序段,检查产生的牌是否为重复牌
If s(i)=s(j) Then Exit For
Next j
If Then
i=i-1
Else
List1. AddItem s(i)
End If
Next i
End Sub
Private Sub LP_ Click( )
For i=1 To n-1
For j=n To i +1 Step -1
d1= Val(Mid(s(j),2)) 'Mid 函数的第3个参数(长度)省略,表示从第2位取到最后
d0= Val(Mid(s(j-1),2))
If Then '加框处改错
t=s(j) : s(j)=s(j-1) : s(j-1)=t
ElseIf d1=d0 Then
If Then
t=s(j) : s(j)=s(j-1) : s(j-1)=t
End If
End If
Next j
Next i
For i=1 To n
List2. AddItem s(i)
Next i
End Sub