a(1)=False
For i = 2 To 20
a(i) = True
Next i
For i = 2 To 20
If a(i) = True Then
For j = 2 To 20 \ i
a(i * j) = False
Next j
End If
Next i
t = 0
For i = 1 To 20
If a(i) = True Then
t = t + 1
End If
Next i
经过该程序段运行后,变量t的值为( )
程序界面如下图所示,在Text1中输入原始字符串,在Text2中输入需要改变的字符,单机“改变”按钮后,在Text3中输出处理后的结果。程序代码如下:
Private Sub Command1Click()
Dim s As String, result As String, k As String
Dim zs As String, n As Integer
result = ""
s = Text1.Text
k = Text2.Text
For n = 1 To Len(s)
①
If zs = k Then
If Asc(zs) >= 65 And Asc(zs) <= 90 Then
zs = Chr(Asc(zs) + 32)
ElseIf Asc(zs) >= 97 And Asc(zs) <= 122 Then
zs = Chr(Asc(zs) - 32)
End If
End If
②
Next n
③
End Sub
在程序①、②、③划线处,填入适当的语句或表达式,把程序补充完整:
程序中①划线处应填入。
程序中②划线处应填入。
程序中③划线处应填入。
Private Sub Command1_Click()
Dim a(0 To 9)As Integer
Dim t As Long
t=Val(Text1.Text)
Do While t<>0
a(t Mod 10)=1
t=t\10
Loop
For i=0 To 9
x=x+a(i)
Next i
End Sub
若在文本框Text1中输入10242048,则程序执行后,变量x的值为( )
s = 1/2 + 2/3 : t = 1: b = 2
For i= 3 To 10
Next i
Label1.Caption = "前10项的和是:" + Str(s)
方框中的代码由以下四部分组成:
①b = r ②t = b ③r = t + b ④s = s + r/(r + b)
代码顺序正确的选项是( )
Private Sub Command1_Click()
Const st = "0123456789ABCDEF"
Dim s, ch, rs As String
Dim m, r1, r2, n As Integer
For i = 1 To Len(s)
ch = Mid(s,i,1)
If ch > "9" Or ch < "0" Then
r2 = m Mod 16
rs = rs + Mid(st, r1 + 1, 1) + Mid(st, r2 + 1, 1)
m = 0
Else
m = m * 10 + Val(ch)
End If
Next i
Text2.Text = "#" + rs
End Sub
s = Text1.Text
For i = 1 To Len(s) c = Mid(s, i, 1)
s1 = s1 + c Next i Text2.Text = s1
程序运行时,在文本框Text1中输入“ABC123xyz”,在文本框Text2中输出“bcd123yza”,则加框①处的代码为( )
A.
Private Sub Command1_Click ()
Dim s As String, ch As String, flag As Boolean
Dim ch2 As String, res As String, i As Integer
s=Text.Text:res=“”
①
Do While<= Len (s)
flag= False
ch= Mid (s, i, 1)
If i= 1 And ch>=“a”And ch2<=“z”Then
ch= Chr (Asc(ch)-32)′小写字母转换为大写字母
End If
If ch=“.” Or ch=“?” Then flag=True
ch2= Mid(s,i+1. 1)
If flag And ch2>=“a”And ch2<=“Z”Then
ch2= Chr (Asc(ch2)-32)′小写字母转换为大写字母
res= ②
i=i+2
Else
i=i+1
res=res+ch
End If
Loop
Text2. Text=res
End Sub
① ②
Private Sub Command_Click( )
Dim i As Integer, j As Integer, ans As Integer
Dim ch As String, s As String
s= Text1 Text
ans = 0:j = 1
For i =l To Len(s)
①
If ch = "," Then
ans =ans Val (Mid(s, j, i-j))
j= ②
End If
Next i
Label1. Caption ="计算结果是:"+Str( ans)
End sub
① ②
……
For i=1 To n-1
k=i For j=i+1 To n If d(j) <d(k) Then k=j Next j |
If i<>k Then kt=d(i): d(i) =d(k): d(k) =kt
Next i
……
框内代码运行结束时,保存最小值的数组元素一定是( )
程序运行时,在文本框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
①将324扩大100倍,32400只能被48695减去1次,则百位上的商是1;
②将324扩大10倍,3240能被前一次余的16295减去5次,则十位上的商就是5;
③对于324,不能被最后剩余的95减去,则个位上的商为0。所以最后的商的整数部分为150。
程序运行界面如图所示。
Dim s1, s2, s3, s, ans As String
Dim tot As Integer, t As Integer
Private Sub Command1_Click( )
Dim a, b, i, j, length As Integer
s1=Text1.Text:s2=Text2.Text:s3=""
Length=Len(s1)-Len(s2)
For i=1 To length
s2=s2+"0"
Next i
For i=0 To length
s=Mid(s2, 1, Len(s2)-1):tot=0
Do While ① or(Len(s1)=Len(s)And s1>=s)
tot=tot+1
ans="":flag=False
a=Len(s1):b=Len(s)
For j=a To 1 Step-1
t=0
If flag Then
t=-1:flag=False
End If
If b>0 Then
t=t+Val(Mid(s1, j, 1))-Val(Mid(s, b, 1))
Else
t= ②
End If
If t<0 Then
③
flag=True
End If
ans=t&ans:b=b-1
Next j
s1=Val(ans)
Loop
s3=s3&tot
Next i
i=1
Do While Mid(s3,i,1)="0"
i=i+1
Loop
Text3.Text=Mid(s3,i,Len(s3))
End Sub
以上程序段运行时,为了实现上述功能,画线处应填入的代码分别为:①;②;③。
图1
图2
Private Sub Command1_Click()
Dim n As Integer, i As Integer, a As Integer, b As Integer
Randomize
n = Val(Text1.Text)
i =
Do While i <= n
a = Int(Rnd * 100)
b = Int(Rnd * 100)
If Then
List1.AddItem "(" + Str(i) + ")" + Str(a) + "+" + Str(b) + "="
i = i + 1
End If
Loop
End Sub
实现上述功能的VB程序代码如下,请回答以下问题:
Const n = 50
Dim a(1 To n) As Integer
Dim f(n + 1 To 2 * n) As Boolean
Private Sub Command1_Click()
Dim i As Integer, j As Integer
Randomize
For i = n + 1 To 2 * n
f(i) = False
Next i
For j = 1 To n
a(j) = Int(Rnd * n) + n + 1
If f(a(j)) = True Then j = j - 1 Else ①
Next j
For i = 1 To n
List1.AddItem CStr(i) + "号-" + CStr(a(i)) 'cstr 把数值类型转换为字符串类型,并去前导空格
Next i
End Sub
Private Sub Command2_Click()
Dim i As Integer, j As Integer, m1 As Integer, m2 As Integer
m1 = 0: m2 = n \ 2
For i = n + 1 To 2 * n
If ② Then
m1 = m1 + 1: a(m1) = i
Else
m2 = m2 + 1: a(m2) = i
End If
Next i
For j = 1 To n \ 2
List2.AddItem "第" + CStr(2 * j - 1) + "名" + Str( ③ ) List2.AddItem "第" + CStr(2 * j) + "名" + Str(a(n \ 2 + j))
Next j
End Sub
① ② ③