移红包规则:
①编号为1的堆上的红包,只能移到编号为2的堆上;
②编号为n的堆上的红包,只能移到编号为n-1的堆上;
③其它堆上的红包,可以移到相邻左边或右边的堆上。
现要求找出最少的移动次数使每堆的红包数-样多。如图所示,在文本框Text1中输入红包堆数n,在文本框Text2中依次输入每堆红包的红包个数(以“,”为分隔符和结束符),单击“移红包次数统计”按钮Command1后,在标签Labe13中显示最少的移动次数。

Const Sum = 40 ‘红包总个数
Private Sub Command1_Click()
Dim n As Integer ‘红包的堆数
Dim s As String, k As Integer
Dim avg As Integer '最终每堆的红包个数
Dim ml As Integer, m2 As Integer
Dim tmp As Integer, count As Integer, ans As Integer
n=
s = Text2. Text
avg=Sum/n
tmp=0:count=0:ans=0
For k=1 To Len(s)
c = Mid(s, k, 1)
If c <>”,”Then
tmp =
Else
count = count + 1
If count = 1 Then
m1 =tmp
Else
m2 = tmp
If m1 <> avg Then
m2=m2-(avg-m1)
ans=ans+1
End If
End If
tmp=0
End If
Next k
Labe13. Caption = Str (ans)
End Sub
s = Text1.Text: n = Len(s)
For i = 1 To n
c = Mid(s, i, 1)
If c >= "a" And c <= "z" Then t = Asc(c) - 32 Else t = Asc(c)
s1 = s1 + Chr(65 + (t - 63) Mod 26)
Next i
s1 = Text1.Text : n = Len(s1)
For i = 1 To n
a(i) = Mid(s1, i, 1)
Next i
For i = 1 To n
j = i + 1
Do While j <= n
If a(i) = a(j) Then
For k =
Next k
n = n - 1: j = j – 1
End If
j = j + 1
Loop
Next i
For i = 1 To n
s = s + a(i)
Next i
Text2.Text = s
上述程序中方框处应填入的程序代码是( )
For i=2 to 5
For j=i to 5
If j mod i=0 then a(j)=a(j)+1
Next j
Next i
For i=1 to 5
If a (i)<>1 then s=str(i)+s
Next i
若数组a 的初始值都为0,则运行该程序段后,s的值为( )
实现上述功能的VB程序如下。
Dim a(1 To 8)As Integer
Dim n As Integer
Private Sub Form_Load( )
a(1)=30:a(2)=47:a(3)=30:a(4)=72
a(5)=70:a(6)=23:a(7)=99:a(8)=24
n=8
For i=1 To 8
List1.AddItem a(i)
Next i
End Sub
Private Sub Command1_Click( )
Dim i,j,k,pos As Integer
Dims As String
s=Text1.Text
pos=Val(Text1.Text)
For i=1 To n-1
For j=n
If a(j)<a(j-1)Then
k=a(j-1):a(j-1)=a(j):a(j)=k
‘如果pos位置的数据参与交换,则更新pos值,记录pos变化位置
If pos=j Then
pos=j-1
s=s+"→"+Str(pos)
pos=j
s=s+"→"+Str(pos)
End If
End If
Next j
Next i
Label1.Caption=“位置变化情况:"+s
For i=1 To n
List2.AddItem Str(a(i))
Next i
End Sub
Private Sub Command1_Click( )
Dims As String, c As String,d As String
Dim n As Integer, b1 As Integer, b2 As Integer, v As Integer, i As Integer
s=Text1.Text:n=Len(s):i=1
Do While i<=n
c=Mid(s,i,2)
If c="00"Then
d="东"
ElseIfc="01"Then
d=“南"
ElseIf c="10" Then
d="西(vi)"
Else
d="北"
End If
b1=Val(Mid(s, i+2, 1))
b2=Val(Mid(s ,i+3, 1))
v= ①
List1.AddItemd+""+Str(v)
②
Loop
End Sub
① ②
例如:字符串“2021xuankao", 去重为“201xuanko".
Dim c(0 To 35) As Integer
s = Text1.Text: res =
For i=1 To Len(s)
ch=Mid(s,i,1)
If ch>="0" And ch<="9" Then
k = Val(ch) + 26
Else
![]()
![]()
End If
![]()
If c(k)=1 Then res=res+ch
Next i
Text2.Text = res
上述程序段中方框处可选语句为:
①k = Asc(ch) - Asc("a") ②k = Ase(ch) - Ase("A") ③e(k) = c(k) + 1 ④c(k) = 1 ⑤If k =0 Thenk=k+ 32 ⑥If k>= 32 Then k=k-32
则①②③处语句依次可为( )
1)将明文中的字母E替换为A,F替换为B,G替换为C,…A替换为W,B替换为X,C替换为Y,…,小写字符的替换方法同理。
如:明文:I Love China 加密为:E Hkra Ydejw
2)将加密后的英文字母,按顺序依次放入每个字符串段落中,第1个加密字母E放在第1个段落,第2个字母H放在第2个段落,依次类推(如下图),段落间用逗号分隔并以逗号结尾。当遇到空格,在段落末尾“,”前,插入“+”号作为标记。
| 第1段 | 第2段 | 第3段 | 第4段 | 第5段 | 第6段 | 第7段 | 第8段 | 第9段 | 第10段 |
| E+, | H, | k, | r, | a+, | Y, | d, | e, | j, | w+, |
3)每个段落中,随机插入字母形成新的字母序列段,当段号小于8时加密字母在字母序列
中存放位置刚好是该段落号,位置以8为周期,第9段时,加密字母存放位置回到字母序列的第1位,第10段加密字母存放位置回到第2位,依次类推。(位置号<=8)
| 第1段 | 第2段 | 第3段 | 第4段 | 第5段 |
| Etc+, | mHfryh, | oTkrestf, | rfir, | Ccfta+, |
| 第6段 | 第7段 | 第8段 | 第9段 | 第10段 |
| iynhyYf, | tqswjyd, | nrtesiueh, | jnytq, | Uwccdb+, |
4)在每一段中随机插入除英文字母之外的ASCII字符码,形成一串密文。如图所示:
则根据加密算法,解密后的明文为
Private Sub Command1_Click()
Dim i As Integer, k As Integer
Dim s As String, c As String, ch As String
Dim letter As String, ret As String 'letter 用于存放字母序列s = Text1.Text
k = 1
For i = 1 To Len(s)
c = Mid(s, i, 1)
If c >= "A" And c <= "Z" Or c >= "a" And c <= "z" Then letter = letter + c
ElseIf
c = ","
Then
ch = Chr(Asc(ch) + 4)
If Not (ch >= "A" And ch <= "Z" Or ch >= "a" And ch <= "z") Then ch = Chr(Asc(ch) - 26)
End If
IfThen ret = ret + ch + " "
Else
ret = ret + ch
End If
k = k + 1
End If
Next i
Text 2.Text = ret
End Sub

Private Sub check_Click()
Dim s as string, ss as string, s1 as string, s2 as string
Dim i as integer, bz as integer
bz = 0
For i = 1 To Len(s)
ss = Mid(s, i, 1)
If ss = "-" Then
bz = bz + 1
ElseIf bz = 1 Then
s1 = CStr() + s1 ‘Cstr函数是在str的基础上去除前导空格
ElseIf bz = 2 Then
s2 = s2 + ss
End If
Next i
If Then
Label1.Caption = "符合标准"
Else
Label1.Caption = "不符合标准"
End If
End Sub
s=0
For i=1 To 3
s=s+i
Next i
该程序段运行后,变量s的值是( )
s=0
for i in range (1,6):
s=s+i
print("i=",i,"s=",s)
1 s=input("请输入年利率:")
2 rate=float(s[:-1])*0.01
3 money=100000
4 year=0
5 while money<=200000:
6 money=round( ),2)
7 year=year+1
8 print(year,"年后收益超过本金。”)
(单选,填字母:A . Command1_Click / B . Form_Load / C . Command1_DblCkick)。
Private Sub Command1_Click()
Dim s As String, max As Integer
Dim t As Integer, i As Integer
max = 0: t = 1
s = Text1.Text
i = 1
Do While i <= Len(s) - 1
If Val(Mid(s, i, 1)) < Then
t = t + 1
Else
If t > max Then max = t
End If
i = i + 1
Loop
Label3.Caption = Str(max)
End Sub
s =0
for i in range(1,4):
for j in range(1,6):
s=s+i
print(s)
| A | Sum=0 For i=1 To 12 Step 2 Sum =Sum+1/i Sum =-Sum Next i | B | Sum=1:t=1 For i=3 To 11 Step 2 Sum= Sum+t/i t =-t Next i |
| C | Sum=0 For i=1 To 11 Step 4 Sum =Sum+1/i Sum =Sum-1/(i + 2) Next i | D | Sum=1 For i=3 To 11 Step 2 t=(-1)^ (i\2) Sum= Sum+t/i Next i |
def factorial(n):
s=1
for i in range(2,n+1):
s=s*i
return s
total=factorial(4)
print(total)

Private Sub Command1_Click()
Dim s As String,sum As Integer
Dim i As Integer,j as Integer
s= Text1. Text
n= 0
For i=1 To Len(s)
For j=1 To Len(s)-i+1
List1. AddItem
n=n+1
Next j
Next i
List1. AddItem "总共有" + Str(n)+"个子串"
End Sub
s=1
for i in_______:
s+=i
Dim a(1 To 5) As Integer .
a(1)= 1
For i=2 To 5
a(i)= Int(Rnd * 9) +1
If a(i) Mod 2=1 Then
a(i)=a(i)+a(i - 1)
ElseIf i mod 2=0 then
a(i)=a(i) /2
End If
Next i
执行程序后,a数组各元素不可能是( )
通过前 50 项计算近似值 pi 的 VB 程序段如下:
x = Sqr(2):pi = 2 / x
For i = 2 To 50
Next i
方框中的代码由以下四部分中的两部分组成:
①x=Sqr(2+x) ②pi=2*pi/x ③x=Sqr(x) ④pi=2*pi/(2+x)
下列选项中,代码顺序正确的是( )