Private sub command1_click()
Dim n as long
Dim t as integer
Dim a(1 to 9) as integer
n=val(Text1.Text)
List1.clear
Do while n>0
t=n mod 10
If t mod 2=0 then a(t)=a(t)+1
n=n\10
Loop
List1.additem a(2)
End sub
移红包规则:
①编号为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 m1 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
a=1:b=2
For i=1 To 6
c=a+b
a=b:b=c
k=2
Do While k<c
If c Mod k=0 Then Exit Do
k=k+1
Loop
If k=c Then s=s+1
Next i
编写一个验证哥德巴赫猜想的VB程序,程序运行时,在文本框Text1中输入一个大于或等于4的偶数,单击“验证”按键Command1后,如果猜想验证成功,则在文本框Text2中显示“Yes”,并在列表框List1中显示用两个素数表示该偶数的等式;否则显示“No”。程序运行界面如图所示。
实现上述功能的VB代码如下,但加框处代码有误,请改正。
Function judge(x As Integer) As Boolean
Dim j As Integer
judge=True
j=2
Do While j<=x-1 And judge=True
If x Mod j=0 Then
judge=False
Else
j=j+1
End If
Loop
End Function
Private Sub Command1_Click()
Dim n As Integer, p As Integer
Dim q As Integer, flag As Boolean
n=Val(Text1. Text)
p=1
flag=False
Do While
And p<n ‘①
p=p+1
‘②
If judge(p) And judge(q) Then
Text2. Text="Yes"
flag=True
List1. Addltem Str(n)+"="+Str(p)+"+"+Str(q)
End If
Loop
If flag=False Then
Text2.Text="No"
End If
End Sub
以上程序段运行时,为了实现上述功能,加框处代码应改正为:①;②。
xx=[35,29,28,42,21,38,17,44,18,19]
sum=0
for i in :
sum=sum+i
print("信息学科平均分为:"+str(ave))
xx=[35,29,28,42,21 ,38,17,44,18,19]
ty=[29,31,26,38,40,41,26,41,21,33]
c=0
for i in :
if :
c=c+1
print("技术学科分数大于等于80分的学生有:"str(c)+"个"
for i in range(-3, -21, -4):
print(i, end=" ")
print(end="\n")
x=0: y=0
For n=1 To 5
x=x+1
y=y+1
Next n
Print x+y
⒈能被4整除,但不能被100整除;
⒉能被400整除;
mon=[31, 28, 31, 30, 31, 30,31,31, 30, 31,30,31] #mon 中存储1-12每个月的天数
s=input("请输入年月日: ")
year=int(s[:4])
month=int (s[5:7])
sum=0
for i in range ( ):
sum+=mon[i]
sum+=day
if
:
isleap=True
else:
isleap=False
if
sum+=1
print(“这一天是当年的第”+str (sum) +“天”)’
def fact(n):
s=1
for i in range(1, n+1):
s*=i
return s
sum=0
for i in range(4):
sum+=fact(i)
print(sum)
For i = 2 To 1000
flag = True:s = i
Do While flag And s >1
For j = 2 To Int(Sqr(s))
If s Mod j = 0 Then
Exit For
End If
Next j
Loop
If flag And s<>1 Then
End If
Next i
Label1.caption=str(c)
上述程序段中方框处可选语句为:
①flag = False ②c = c + 1 ③s = s \ 10
则(1)(2)(3)处语句依次可为( )
x = 0
while x < 50:
x = (x + 2) * (x + 3)
运行后,x的值为( )
小李编写了如下程序求解10个人的出列顺序。程序运行界面如图15-1所示,点击求解按钮后,在Text1中输出出列顺序,在Text2中显示随机数据的值。

Private Sub Command1 _Click( )
Dim ld(1 To 10) As Boolean, i As Integer, j As Integer
Dim rs As Integer, C As Integer, m As Integer
Randomize
For i=1 To 10
ld(i) = True ‘数组元素为True表示第i人当前在队列中
Next i
c=0:rs=10
m =Int(Rnd*3)*2+3
Do While rs <> 0
If ld(i) = True Then
If c=m Then
ld(i) = False
Text1.Text = Text1.Text + Str(i)
c=0

End If
End If
i =i-1
If Then i=10
Loop
End Sub
Const n = 20
Dim a(1 To n) As Integer
Dim lena As Integer '数组a的实际长度 Dim s As String
Private Sub Form_Load()
'生成lena个非递减序列,并输出到文本框text1中,代码略
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer i = 1
Do While i < lena
If a(i) <> a(i + 1) Then i =
Else
For j = i + 1 To lena
a(j - 1) =
Next j
lena =
End If
Loop
s = ""
For i = 1 To lena
s = s + Str(a(i))
Next i
Text2.Text = s
End Sub
n=Val(Text1.Text)
s=""
flag=True
Do While n>0
⑴
n=n\10
If Not flag Or x>0 Then
⑵
flag=False
End If
Loop
If s="" Then s ="0"
Labe 11.Caption=s
方框中(1)和(2)应填入的代码顺序为( )
①x=nMod10^len(n) ②x=nMod10 ③s=Str(x)+s ④s=s+Str(x)
def fun(n):
a, b=0,1
while a < n:
print(a, end=' ')
a, b=b, a+b
fun(5)
s1 = "567898765"
s2 = ""
n = Len(s1) \ 2
For i = 1 To n
If Mid(s1,i,1) < Mid(s1, n + 1, 1) Then
s2 = s2 + Mid(s1, i, 1)
Else
s2 = Mid(s1, n + i, 1) + s2
End If
Next i
Text1.Text = s2

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
i = 1: j = 6: s = ""
Key = Val(Text1.Text) Randomize
Do While i <= j
m = Int(Rnd * (j - i + 1) + i) s = s + Str(a(m))
If a(m) < Key Then j = m - 1
ElseIf a(m) > Key Then i = m + 1
Else
Exit Do
End If
Loop
数组元素 a(1)到 a(6)的值依次为“88、76、64、25、24、12 ”,文本框 Text1 中输入 key 值,执行该程序段,s 值不可能的是( )