Private Sub Command1_Click()
Dim a As intger, i As intger, s As String
n = Val(Text1.Text)
s = ""
For i = 1 To 2 * n - 1
If i > n Then ① Else ②
Next i
text2.Text = s
End Sub
为实现以上功能,①②处分别填写( )
k=0:s=0
for i=2 to n
If a(i)>a(i-1) then
_______①_________
Else
k=0
End If
if _____②______ then s=s+1
next i
text1.text=str(s)
划线处的正确语句是( )
For i=1 To 6
x=Int(Rnd*10)+1
If i Mod 2 = 1 Then
a(i)=2*x+1
Elself x Mod 2 = 0 Then
a(i)=x/2
Else
a(i)=x-1
End If
Next i
执行该程序段后,a(1)~a(6)各元素可能的值是( )
Const rs = 2500 '考生总人数(即记录总数)
Dim kh(1 To rs) As String, cj(0 To rs) As Integer
Dim xx(1 To 9) As String '数组xx存放学校名称,如xx(1)="柯中",xx(2)="鲁高"……数组下标代表该学校代码,即"柯中"代码是1,"鲁高"代码是2……
'从数据库中读取考号和成绩数据,存入kh和cj数组,并在list1中显示,代码略。
Private Sub Command1_Click()
Dim school As String, n As Integer, i As Integer, j As Integer
Dim t1 As Integer, t2 As String, flag As Boolean
xx(1) = "柯中": xx(2) = "鲁高": xx(3) = "越崎": xx(4) = "鉴湖"
xx(5) = "钱清": xx(6) = "豫才": xx(7) = "轻纺城": xx(8) = "鲁中"
For i = 1 To 8
If xx(i) = Text1.Text Then ①
Next i
n = Val(Text2.Text) : i = 1: flag = True
Do While flag
k = i
For j = i + 1 To rs
t = Val(Mid(kh(j), 1, 1))
If t = school Then
If ② Then k = j
End If
Next j
If i > n And cj(k) <> cj(i - 1) Then flag = False
If k <> i Then
t1 = cj(i): cj(i) = cj(k): cj(k) = t1
t2 = kh(i): kh(i) = kh(k): kh(k) = t2
End If
i = i + 1
Loop
List2.Clear
For j = 1 To ③
List2.AddItem kh(j) + " " + Str(cj(j))
Next j
End Sub
① ② ③
Private Sub Command1 _Click( ) ‘蒙特卡洛法
Randomize ‘随机数初始化
Dim i As Long, n As Long, s As Long
Dim x As Double, y As Double, z As Double
n =Val(Text1. Text)
i=1
s=0
Do While < = n ‘随机投点n次
x= Rnd : y = Rnd
z = ①
If z < = 1 Then
②
End If
i=1+1
Loop
Text2. Text = ③
End Sub
① ② ③
n = Val(Text1. Text)
sum=n
k=4
Do While n \ k>0
Sum = sum + n \ k
n=n \ k+n Mod k
Loop
Text2. Text = Str(sum)
在文本框Text1中输入10,执行该程序段后,文本框Text2中显示的值是( )
i=1:j=1
Do While i<=Len(s 1) And j<=Len(s 2)
If Mid(s1,i,1) =Mid(s2,j,1) Then
i=i+1:j=j+1
Else
End If
Loop
If i>Len(s1) And j>Len(s 2) Then Text 1.Text=”相同” Else Text1.Text=“不相同”
方框中的代码由以下三部分组成:
①If Mid(s1,i,1) =“” Then i=i+1
②If Mid(s2,j,1) =“” The nj=j+1
③If Mid(s1,i,1) <>“” And Mid(s2,j,1) <>“” Then Exit Do 'Exit Do表示退出循环
代码顺序正确的是( )
a(1)=”231”:a(2)=”44”:a(3)=”23”:a(4)=”244”:a(5)=”124”
For i=5 To 4 step-1
k=i
For j=i-1 To 1 Step-1
If a(j) >a(k) Then k=j
Next j
If k<>i Then
t=a(k):a(k)=a(i):a(i)=t
End If
Next i
Key=Val(Text1.Text) i=1:j=10 flag=False
Do While i<=j And Not flag Lmid= ⑴
Rmid=j-(j-i)\3
If Key=a(Lmid) Or Key=a(Rmid) Then Flag=True
Elseif ⑵ Then
i=Lmid+1
j=Rmid-1
Elseif Key<a(Lmid) Then
j=Lmid-1
Else
i=Rmid+1
End if
Loop
If Flag And Key=a(Lmid) Then
List1.AddItem Str(Lmid)
ElseIf Flag Then
List1.AddItem Str(Rmid)
Else
List1.AddItem ⑶ EndIf
上述程序中方框处可选语句为:
①(j-i)\3+i ②(i+j)\3+1 ③Key<a(Lmid) And Key>a(Rmid) ④Key>a(Lmid) And Key<a(Rmid)
⑤str(i)+str(j) ⑥Str(j)+Str(i)
则(1)(2)(3)处的语句依次为( )
Private Sub Command1_Click()
Dim a(1 To 100) As String, s As String
Dim i As Integer, m As Integer, n As Integer, pos As Integer
Dim L As Integer, R As Integer, length As Integer, Max As Integer
s = Text1.Text
n = Len(s)
For i = 1 To n
a(i) = Mid(s, i, 1)
Next i
For i = 1 To n
L = i + 1: R = n
Do While L <= R
m = (L + R) \ 2
If Then
L = m + 1
Else
R = m - 1
End If
Loop
If length > Max Then
Max = length : pos = i
End If
i = i + length - 1
Next i
Text2.Text =
End Sub
Dim s As String, ch As String
Dim i As Integer, t As Integer
s = Text1.Text : t = 0
For i = 1 To Len(s)
ch = Mid(s, i, 1)
If ch <> "," Then t = t * 2 + Val(ch)
Text2.Text = Text2.Text + Str(t)
Next i
执行该程序,当文本框Text1中输入了“11,10”时,文本框text2中输出的是( )
“完数”是指一个自然数恰好等于它的因子(不包含本身)之和。如6的因子为1,2,3,而6=1+2+3,因此6就是完数。再如28的因子为1,2,4,7,14,而28=1+2+4+7+14,因而28也是完数。
问题:输入一个正整数n,判断该正整数是否为完数。
要判断一个正整数n是否为完数,最简单的方法是:求出1到n-1之间的所有因子和为Sum,如果Sum的值和n的值相同,则n就是完数。
以下代码是判断n是否为完数的程序片段,请你补全代码:
Dim n As Long
Dim Sum As Long ‘Sum用来记录n的因子和
n = InputBox(“n=”)
For i = 1 To n-1 ‘求n的因子和Sum
If n Mod i = 0 Then Sum =
Next i
If Then
Print n & “是完数”
Else
Print n & “不是完数”
End If
程序运行时,在文本框Text1和文本框Text2分别输入两个二进制数,单击按钮 Command11后在文本框Text3上输出两个二进制相加后的结果。
程序运行如图所示。
Private Sub Command1_Click()
Dim b1 As String, b2 As String, ans As String, t As String
Dim dist As Integer, jw As Integer
b1=Text1.Text: b2 Text2.Text: ans=""
If dist <0 Then
t=b1: b1=b2: b2=t: dist=-dist
End If
For i=1 To dist
b2="0"+b2
Next i
jw=0
For i= Len(b1)To 1 Step-1
x= Val(Mid(b1, i, 1))+ Val(Mid(b2, i, 1))+jw
ans Str(x Mod 2)+ans
Next i
IfThen ans ="1"+ ans
Text3.Text=ans
End Sub
实现上述功能的VB代码如下,但加框处有错,请改正。
Private Sub Command1_Click()
Dim n As Integer, m As Integer
Dim a(1 To 50) As Integer
n = Val(Text1.Text)
m = Val(Text2.Text)
For i = 1 To n
Next i
s = 0;j = 0
Do While s < n
t = 0
Do While t < m
t = t + a(j)
Loop
a(j) = 0
s = s + 1
List1.AddItem “第” + Str(s) + “次:” + Str(j)
Loop
End Sub
t = Val(Text1. Text): m= 2
For i=t-1 To 1 Step-1
k = a(i)
For j=i To n- 1
①
Next j
②
n=n-1
Next i
a=b-a
b=b-a
B . b=a+ba=b
b=c
C . c=aa=a/b
b=a/b
D . b=a*b