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(j) < 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)
该程序段运行后,文本框Text1中显示的内容是( )
For i=1 To n-1
k=i
If i<>k Then t=a(i):a(i)=a(k):a(k)=t
Next i
框内代码运行结束时,保存最小值的数组元素一定是( )
for i in range(10):
k=int(input())
if k<=20 and k>0:
if k>15:
if k>18:
x=0
else:
x=1
else:
if k>12:
x=4
else:
x=5
请回答下列问题:
Dim n As Integer
Dim a(1 To 20) As Integer
Dim b(1 To 20) As Integer
Dim c(1 To 20) As Integer
Private Sub Command1_Click()
Dim i As Integer, t As String, ch As String
n = 0: t = ""
Do While i <= Len(Text1.Text)
ch = Mid(Text1.Text, i, 1)
If ch = "," Then
n = n + 1
b(n) = n
t = ""
Else
t = t + ch
End If
i = i + 1
Loop
End Sub
Private Sub Command2_Click()
Dim i As Integer, j As Integer, t As Integer
For i = 1 To n - 1
For j = n To i + 1 Step -1
If
Then
t = b(j): b(j) = b(j - 1): b(j - 1) = t
End If
Next j
Next i
For i = 1 To n
Label1.Caption = Label1.Caption + Str(b(i))
Label2.Caption = Label2.Caption + Str(c(i))
Next i
End Sub
第一排正中间安排1人;第二排正中间安排3人;第三排正中间安排5人……,如此循环,直至班级人数不足以站满一排后结束编排。
三角队形外围一圈的同学对服装有特殊要求,需要进行标记(中间的同学用“●”标记,外围的同学用“▲”标记)
编写VB程序,实现队形编排功能:在文本框Text l中输入班级人数,单击“展示队形”按钮Command1后,将班级学生队形显示在列表框List 1中。例如,当班级学生数为54的时候,程序运行界面如图所示。
Private Sub Command 1_Click( )
Dim i As Integer,j As Integer
Dim cnt As Integer,nAs Integer,tmp As Integer
Dim kw As String,zw As String,c As String
List 1.Clear
cnt=Val(Text 1.Text)
n=0:tmp= 1
Do While
‘计算三角队形的行数
cnt=cnt-tmp
tmp=tmp+ 2
n=n+1
Loop
For i=1 T on
kw="":zw=""
For j=i T on-1
kw=kw+" "
Next j
If i=n The nc="▲" Else c="●"
For j= 1 To 2*(i-1)-1
zw=zw+c
Next j
IfThen
ZW="▲"
Else
zw="▲"+zw+"▲"
End If
List 1.Add Item
Next i
End Sub
Private Sub Command1_Click( )
Dims As String,ch As String
Dim i As Integer,t As Integer
Dim ans As Long,px As Long
s=Text1.Text
ans=0:t=0:px= 1
For i=1 To Len(s)
ch=Mid(s,i,1)
IfThen
t=t*10+Val(ch)
Else
px=px*t
If ch= "_" Then
px=-1
End If
t=0
End If
Next i
Label 1.Caption=Str(ans+)
End Sub
s = Text1.Text
a = "": max = ""
For i = 1 To Len(s)
c = Mid(s, i, 1)
If c >= "0" And c <= "9" Then
a = a + c
Else
If a > max Then max = a
a = ""
End If
Next i
Label1.Caption = max
执行该程序段,在文本框Text1中输入“153-023-583-65-”,则Label1中显示的结果是( )
⑴确定初始右边界:从第1个字符开始,向右搜索到包含全部26个字母的子串,并因此而确定右边界,同时记录每个字母在子串中出现过的次数。
⑵调整子串左边界:若左边界有重复的字母则表明该子串可缩短,故左边可右移1位……直到找到一个符合条件的子串并记录,然后子串左边界再右移1位。
⑶调整子串右边界:子串右边界继续右移,在新子串符合条件后,记录并进行比较。
重复(2)各调整步骤,直至遍历完整个字符串,获得并输出满足条件的最小长度字符串。
实现上述功能的VB程序如下,请回答下列问题。
Const n = 300
Dim i As Integer, k As Integer, length As Integer, L As Integer
Dim pos As Integer, s1 As String, res As String
Dim f(1 To 26)As Integer '数组f记录每个小写英文字母的出现次数
Dim s(1 To n)As Integer '数组s记录每个输入字符在字母表中的位置
Private Sub Command1_Click()
res = ""
s1 = Text1.Text
For i = 1 To Len(s1)
s(i)= ①
Next i
k = 0: pos = 1: length = n
For i = 1 To 26
f(i)= 0
Next i
For i = 1 To Len(s1)
If f(s(i))= 0 Then k = k + 1
f(s(i))= f(s(i))+ 1 '调整右边界,直到达到26个字母
Do While ②
f(s(pos))= f(s(pos))- 1
If ③ Then
k = k - 1
If i - pos + 1 < length Then
length = i - pos + 1
res = Mid(s1, pos, length)
L = pos
End If
End If
pos = pos + 1
Loop
Next i
If res <> "" Then
Text2.Text = res
Label1.Caption = "最短长度:" + Str(length)+ "开始位置:" + Str(L)
Else
Label1.Caption = "无解!"
End If
End Sub
① ② ③
求π,直到最后一项的值小于0.0001为止,输出π的值。 Private Sub Command1_Click()
Dim Pi As Single, t As Single
Dim n As Integer, s As Integer
Pi = 0
t = 1: n = 1: s =1
Do While Abs(t) >= 0.0001
Pi = Pi + t
n =
s=
t = s / n
Loop
Text2.Text =
End Sub
b = 5
k = 0: imax = 0
For i = 1 To 20
If a(i) = b Then
k = k + 1
If ⑴ Then
imax = k
⑵
End If
Else
k = 0
End If
Next i
Label1.Caption = "最大长度:" +Str(imax) +",起始位置:" + Str(st)
划线处可选代码为:
①k > imax ② k >= imax ③ st = i - imax + 1 ④ st = i
下列选项中,代码顺序正确的是( )
sum=1
for i in range(2,5):
sum=sum*i
print(sum, i)
程序的运行结果为( )。
Private Sub Command1_ Click()
Dims As String, c As String, i As Integer
Dim sum As Single, sum1 As Single, sum2 As Single, k As Integer,j As Integer
s = Text1.Text : sum2=0:k= 1
For i= 1 To Len(s)
c=
If c= "*" Or c= "/" Then
If c="*" Then
sum = Val(Mid(s,i+ 1, 1)) * Val(Mid(s,i- I, 1))
Else
sum = Val(Mid(s, i- 1, 1))/ Val(Mid(s,i+ 1,1))
End If
j=i-2
Do While
c = Mid(s,j, 1)
If c="+" Then sum1 = Val(Mid(s,j-1, 1)) + sum
If c="-" Then sum1 = Val(Mid(s,j- 1, 1)) - sum
sum=sum1
j=j- 1
Loop
If k=1 Then
sum2 = sum2 + sum
Else
c= Mid(s, k, 1)
If c =“+" Then sum2 = sum2 + sum
If c="" Then sum2 = sum2 - sum
End If
k=
End If
sum=0
Next i
Label2.Caption = sum2
End Sub
Dim i As Integer, Sum As Integer
Dim a(1 To 11) As Integer
Sum = 6
a(11) = 49
For i = 10 To 1 Step -1
a(i) = a(i + 1) - 1
If a(i) Mod 3 = 0 Then Sum = Sum + a(i)
Next i
Text1.Text = Str(Sum)
该程序段运行后,文本框text1中显示的内容是( )
s = "United by Emotion": s1 = "”
For i=1 To Len(s) Step 4
c = Mid(s, i,1)
If Asc(c) >= Asc("a") Then
c = Chr(Asc(c) - Asc("a") + Asc("A"))
s1=c+s1
End If
Next i
程序运行后,s1的值是( )
For i = 1 To 7
a(i) = Int(Rnd * 9) + 1
Next i
s = 0
For i = 1 To 6
If a(i) < a(i + 1) Then
f(i) = 1
ElseIf a(i) > a(i + 1) Then
f(i) = -1
Else
f(i) = 0
End If
s = s + f(i)
Next i
执行该程序段后,变量s的值为0,则数组a各元素的值可能是( )
flag = False: txt = "Fighting"
For i = 1 To Len(txt)
ch = Mid(txt, i, 1)
If (ch>="a" And ch<="z" Or ch>="A" And ch<="Z") And Not flag Then
s = ch + s: flag = True
Else
flag = False
End If
Next i
Text1.Text = s
程序运行结束后,Text1中显示的内容是( )
实现上述功能的VB程序如下,请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim i As Long, n As Long, t As Long
Dim s As Long ′s用于统计1到n之间包含数字2的整数个数
Dim k As Boolean
s = 0
n = Val(Textin.Text)
For i = 1 To n
k = False
t = i
Do While Not k And t > 0
t = t \ 10
Loop
If k Then
Next i
Textout.Text = Str(s)
End Sub