①密码是六位数字,前面两位为59;
②最后两位数字相同;
③能被12和38整除。
程序界面如1图所示,单击 “帮助找回密码”按钮(Command1)后,可能的密码显示在列表框List1中。
Private Sub Command1_click ( )
Dim x As Integer, s As Long, y As Integer, i As Integer
For i = 0 To 9999
S = 590000 + i
If Then
x= s mod 10
y = (s Mod 100) \ 10
If x = y Then
End If
End If
Next i
End Sub
s=Text1.Text
n=Len(s) 's是待判断的字符串
k=0:j=n
For i=1 to n/2
c1=Mid(s,i,1)
c2=Mid(s,j,1)
If c1 <> c2 Then k = k+1: Exit For
j=
Next i
If Then Label1.Caption="对称" Else Label1.Caption="不对称"
Private Sub Command1_Click()
Dim n As Integer,S As Integer
s=0
n=Val(Text1.Text)
If n>1 Then
For i=1 To n
s= ①
If n=s Then
Label1.Caption=Str(n)+”是一个三角形数。”
Exit For
②
Label1.Caption=Str(n)+”不是一个三角形数。”
Exit For
End If
Next i
Else
Label1.Caption=”请输入一个大于1的正整数”
End If
End Sub
① ②
Private Sub Command1_Click()
Dim i As Integer, x As Integer, c As Integer
c = 0
For i = 1000 To 9999
x =
If And x = 7 Then
'将符合条件的四位数显示在列表框中
num = num + 1
End If
Next i
Label2.Caption = "共有:"+ +"个"
End Sub
程序部分代码如下:
Private Sub Command1_Click()
Dim n, m, s, i, j, count As Long
Dim flag As Boolean
Dim a(1 To 100) As Integer
n = Val(Text1.Text)
count = 0
①
For i = 0 to s-1
m = i
For j = 1 To n
a(j) = m Mod 2
m = m \ 2
Next j
flag = True
For j = 1 To n - 1
If ② Then flag = false: exit For
Next j
If flag = True Then ③
Next i
Label1.Caption =“可行方案共”+ Str(count) + “种”
End Sub
例如,共有N=5个景点,每个景点连接的下一个景点分别是2,4,5,5,2。
景点号 |
1 |
2 |
3 |
4 |
5 |
下一景点号 |
2 |
4 |
5 |
5 |
2 |
则他可以从2号景点出发,最多可以游玩2号、4号、5号三个景点。
程序代码如下:
Private Sub Command1_Click()
Dim a(1 To 100) As Integer, d(1 To 100) As Integer ′数组a存放下一景点号
Dim jd As String, m As String, c As Integer, i As Integer
Dim s As Integer, p As Integer, k As Integer, ans As Integer
jd = Text1.Text + “,”
s = 0: c = 0
For i = 1 To Len(jd)
m = Mid(jd, i, 1)
If m <> ”,” Then
s = s * 10 + Val(m)
Else
c=c+1:a(c)=s:s=0 ′含义
End If
Next i
ans = 0: k = 0
For i = 1 To c ′枚举游览起点
For k = 1 To c
d(k) = 0
Next k
If d(i) = 0 Then
p = i
Do While p <= c
If d(p) = 0 Then
k=k+1:d(p)=k
Else
y= ② ′填空
If y>ans Then ans=y
k = 0
Exit Do
End If
′改错
Loop
End If
Next i
Text2.Text = Str(ans)
End Sub
例如,共有N=5个景点,每个景点连接的下一个景点分别是 2,4,2,3,1。
景点号 | 1 | 2 | 3 | 4 | 5 |
下一景点号 | 2 | 4 | 2 | 3 | 1 |
则他可以从2号景点出发,最多可以游玩2号、3号、4号三个景点。程序代码如下:
Private Sub Command1_Click()
Dim a(1 To 100) As Integer, d(1 To 100) As Integer '数组 a 存放下一景点号
Dim jd As String, m As String, c As Integer, i As Integer
Dim s As Integer, p As Integer, k As Integer, ans As Integer
jd=Text1.Text+","
s=0 : c=0
For i=1 To Len(jd)
m=Mid(jd,i,1)
If m<>"," Then
①
Else
c=c+1 : a(c)=s: s=0
End If
Next i
For k=1 To 100 d(k)=0
Next k
ans=0: k=0
For i=1 To c '枚举起点
If d(i)=0 Then p=i
Do While p<=c
If d(p)=0 Then
k=k+1 :d(p)=k
Else
②
If y>ans Then ans=y k=0
Exit Do
End If
'改错
Loop
End If
Next i
Text2.Text=Str(ans)
End Sub
① ②
import math #导人math库,以便使用里面的函数
list= [2,3] #2,3预先加到素数列表中
for i in range(5,101,2): #第一层循环,从5到100中的奇数
for j in range(2, ): #第二层循环,逐个判断是否有因数
if #如果出现整除说明有因数
break #跳出循环判断下一个
else: #如果第二层循环结束还没有跳出的话
list.append(i) #说明是素数,加到列表里
n+=1
for i in range(0,n+2): #输出
print(list[i])
Const n=12
Dim a(1 To n) As Integer
Dim flag(1 To 100) As Boolean
Private Sub Form_Load()
Dim i As Integer, t As Integer
For i=1 To 100
flag(i)=False
Next i
i=1
Do While i <=n
t=Int(Rnd * 100)+1
If Not flag(t) Then
List1.AddItem Str(t)
flag(t)=True
i=i+1
End If
Loop
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer, ans As Integer
ans=0
For i=1 To n
For j=i+1 To n
If a(i)+a(j)<=100 Then
If Then
ans=ans+1
flag(a(i)+a(j))= False
End If
Next j
Next i
Label1.Caption="共有"+Str(ans)+"个数!"
End Sub
所谓的非常幸运数是指符合下列条件的整数:
⑴该数的偶数位数字之和等于奇数位数字之和。
⑵该数的前一半的各位数字之和正好等于后一半的各位数字之和。
实现上述功能的VB程序如下,在程序划线处填入合适的代码。
Private Sub Command1_Click()
Dim a(1 To 6) As Integer, sum(1 To 4) As Integer
Dim x As Long, i As Long, count As Long, k As Long
For i=100000 To 999999
x=i
k=1
Do While x > 0
a(k)=
x=x\10
k=k+1
Loop
sum(1)=a(1) +a(2)+a(3)
sum(2)=a(4)+a(5)+a(6)
sum(4)=a(2)+a(4)+a(6)
If sum(1)=sum(2) And sum(3)=sum(4)Then
List1.AddItem Str(i)
End If
Next i
Label2.Caption="共有个数:" + str(count)
End Sub
为实现上述功能程序如下,但加框处的代码有误,请改正。
Private Sub Command1_Click()
Dim n As Integer
Dim i As Integer, c As Integer
n = Val(Text1.Text)
List1.Clear
c = 0
If n Mod 2 = 0 Then
For ①
If Then ②
List1.AddItem n & "=" & i & "+" & n - i
c = c + 1
End If
Next i
Label2.Caption = "共有" & c & "种组合"
Else
Label2.Caption = "请输入一个大于 2 的偶数"
End If
End Sub
Function is Prime(x As Integer) As Boolean
Dim i As Integer
Is Prime = True
For i = 2 To Int(Sqr(x))
If x Mod i = 0 Then
Is Prime = False
Exit For
End If
Next i
End Function
① ②
str1 = “ABCDEFGHIJKLMNOPQRSTUVWXYZ”
s = “”
For i = 1 To 4
t = Int(Rnd*10) + 1
If t Mod 2 = i Mod 2 Then
t = t + 1
Else
t = t + 2
End If
s = s + Mid(str1,t,1)
Next i
List1.AddItem s
执行该程序段后,列表框List1中可能显示的内容是( )
Dim c(1 To 26)As Integer
s=Text1.Text
For i=1 To Len(s)
x=Mid(s, i, 1)
If x>="a" Then
t=Asc(x)-Asc("a")+1
Else
t=Asc(x)-Asc("A")+1
End If
①
If c(t)>=Max Then Max=c(t): ②
Next i
Text 2.Text=Chr(f+Asc("A"))
划线处应该填入的正确语句是( )
Dim a(1 To 1000) As Integer
Dim n As Integer
Private Sub Form_Load()
'确定n的值和数组a的各个元素值,即每根棍子的长度值,代码略
End Sub
Function max (x As Integer, y As Integer) As Integer
If x>y Then
max=x
Else
max=y
End If
End Function
Private Sub Command1_Click()
Dim i As Integer, J As Integer, K As Integer
Dim ans As Integer, c As Integer, longest As Integer,
rest As Integer
ans=0
'让i<j<k,保证棍子不会被重复选中
For i=1 To n
For j=i+1 To n
For k=j+1 To n
c=a(i)+a(j)+a(k)
longest= '①
rest=c-longest 'rest 保存最短的两条边的和
If Then '②
ans=max(ans, c)
End If
Next k
Next j
Next i
Print ans
End Sub
Private Sub Command1_ Click()
Dim n As Integer, m As Integer
Dim s As String
Dim bj As Boolean '用于标记该质因子是否已存在
n=Va1(Text1. Text)
s=" "
m= 2
bj= True
Do While n> 1
If n Mod m=0 Then
n=
If bj= True Then
s=s+Str( m)
bj= False
End If
Else
m=m+1
End If
Loop
Text2. Text= s
End Sub
请回答下列问题:
Private Sub Command1_ Click()
Dim s As Long
Dim iAs Integer,a As Integer,b As Integer
For i=0 To 9999 Step
s=310000+i
If s Mod 46=0 Then
a=
b=s\ 10 Mod 10
If a=b Then List1. AddItem Str(s)
End If
Next i
End Sub
定义规则:你需要标记出所有空白格子周边相邻的格子上有多少地雷(在正方向和斜45度方向挨着的格子均可视为相邻),并将数量标记在空白格中,如下图所示。
实现上述功能的VB程序如下,请在划线处填入合适的代码。
Dim n As Integer,m As Integer 'n 存储地雷区域大小,m存储地雷数目
Dim a(1 To 100 * 100) As String
Dim b(1 To 100 * 100) As Integer
Private Sub Command1_Click() '按要求生成数组a中的数据并显示
Randomize
List1. Clear
n=9 : m=10
Dim s As String, pos As Integer, i As Integer
s=" " : n=n+2
For i=1 To n * n
If isinside(i) Then a(i)="— —"
Else a(i)="▲"
Next i
For i=1 To m
pos=Int(Rnd * n * n)+1
Do While a(pos)="★" Or
pos= Int(Rnd * n *n)+1
Loop
a(pos)="★"
Next i
For i=1 To n* n
s= s+" "+a(i)
If i Mod n=0 Then
List1. AddItem s
s=" "
End If
Next i
End Sub
Private Sub Command2_Click()
Dim i As Integer, j As Integer, row As Integer
Dim col As Integer, start As Integer, temp As String
For i=1 To n* n
If a(i)="★" Then
row=(i-1) \ n+1 : col=(i-1) Mod n+1
For j=1 To 3
start=
If a(start+col- 1)="— —" Then b
(start+ col- 1)= b(start+col- 1)+1
If a(start+col)="— —" Then
b(start+ col)= b(start+col)+1
If a(start+col+1)= "— —" Then b
(start+col+ 1)= b(start+ col+1)+1
Next j
End If
Next i
List2. Clear
For i=1 To n
temp=" "
For j=1 To n
If a((i-1) * n+j)="— —" Then
temp=temp+" "+ Str(b((i-1) * n+j))
Else
temp= temp+" "+a((i- 1)*n+j)
End If
Next j
List2. AddItem temp
Next i
End Sub
Function isinside(x As Integer) As Boolean
isinside= x>n And And x
Modn<;>1AndxMod<> 0
End Function