程序界面如图所示,左边列表框List1中显示的是部分职工的卡号和余额,在文本框Text1中输入职工的IC卡号,单击“查询余额”按钮(Command1)后,如果找到此卡号,则在标签Lab3中显示“此卡号余额为”和对应的余额值,如果未找到则显示“找不到此卡号,请重新输入”。
解决此问题的部分程序段如下:
Const n=500' 设卡号总数为500
Dim zg(1 To n) As Long
Dim ye(1 To n) As Single
Private Sub Form1_Load()
' 此过程用于对数组zg和数组ye进行初始赋值,代码略
End Sub
Private Sub Command1_Click()
Dim x As Long, i As Long, j As Long, m As Long, find As Boolean
x=Val(Text1.Text)
i = 1 : j = n : find = False
Do While ‘改错
m = Int((i + j) / 2
If x = zg(m) Then
①
Else If ② Then
j = m - 1
Else
i = m + 1
End If
Loop
If find = true Then
Lab3.Caption=″此卡号余额为″+Str(ye(m))+″元″
Else
Lab3.Caption=″找不到此卡号,请重新输入″
End If
End Sub
程序中①画线处应填入。
程序中②画线处应填入。
i=2
Do While i<=6
For j=6 To i+2 Step -2
If a(j)>a(j-2)Then t=a(j):a(j)=a(j-2):a(j-2)=t
Next j
i=i+2
Loop
则程序运行之后,数组元素a(1)和a(2)的值分别是( )
①将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
以上程序段运行时,为了实现上述功能,画线处应填入的代码分别为:①;②;③。
如字符串“ABDAC”与字符串“AABCD”可以归为同一类,与“AABBC”不可以归为同一类。图图编写了一VB程序,功能如下:在文本框Text1中输入字符串s1,在文本框Text2中输入字符串s2,单击“判断”按钮Command1,在标签Label1中显示是否可以归为同一类的结果。部分运行界面如图所示。
请回答下列问题:
Private Sub Command1_Click()
Dim a(1 To 100) As Boolean
Dim i As Integer, j As Integer
Dim flag As Boolean
s1 = Text1.Text
s2 = Text2.Text
flag = True
For i = 1 To Len(s2)
Next i
If Len(s1) <> Len(s2) Then
flag = False
Else
For i = 1 To Len(s1)
c =
j = 1
Do While j <= Len(s2)
If
Then
a(j) = False
Exit Do
End If
Loop
If j = Len(s2) + 1 Then flag = False
Next i
End If
If flag Then
Label1.Caption = "可以归为同一类"
Else
Label1.Caption = "不可归为同一类"
End If
End Sub
Dim s1 As String, s2 As String, ch As String
Const code = "@*()^&#"
s1 = Text1.Text
For i = 1 To Len(s1)
ch = Mid(s1, i, 1)
If ch >= "a" And ch <= "z" Then
t = (Asc(ch) - 65 + i) Mod 7
s2 = Mid(code, t + 1, 1) + s2
Else
s2 = s2 + ch
End If
Next i
Text2.Text = s2
若 text1 中输入字符“AbCd”,则 text2 中输出的是 ( )
Function fun(x As Integer) As Integer
If x <= 2 Then
fun = x
Else
fun = 2 * fun(x - 1) + fun(x - 2)
End If
End Function
则表达式fun(5)的值为( )
x = 4095 : s1 = "ABCDEFGHIJ" : s2 = "abcdefghij"
ret=""
Do While x > 0
r = x Mod 10
If r Mod 2 = 1 Then
ret = Mid(s1, r + 1, 1) & ret
Else
ret = ret & Mid(s2, r + 1, 1)
End If
x = x \ 10
Loop
Text1.Text = ret
执行该程序段后,文本框Text1中显示的内容为( )
a(1)=11: a(2)=22:a(3)=33: a(4)=44: a(5)=55
a(6)= 66 : i = 1: j = 6: p = 0: Key = 23
Do While i <= j
p = p + 1:m = (i + j) \ 2
If j Mod 2 = 0 Then m = m + 1
If a(m) = Key Then Exit Do
If Key < a(m) Then
j = m - 1
Else
i = m + 1
Loop
| m= 29 if m%3!=0: print (m, "不能被3整除") else print (m,“能被3整除") |
s = "python": b = 0
For i = 1 To Len(s) - 1
a = Abs(Asc(Mid(s, i, 1)) - Asc(Mid(s, i + 1, 1)))
If a > b Then b = a
Next i
Label1.Caption = Str(b)
执行该程序段后,标签Label1上显示的内容是( )
dx={"0":"零","1":"壹","2":"贰","3":"叁","4":"肆","5":"伍","6":"陆","7":"柒","8":"捌","9":"玖"}
dw="亿仟佰拾萬仟佰拾元"
money=input("请输入金额(整数,不得超过9位):")
zh=""
t=""
if ① :
print("输入的数据超出所能转换的范围。")
else:
for i in range(0,len(money)):
t= ② #取出第i位小写对应的大写
dwz=len(dw)-len(money)+i # 计算该小写数字对应的单位在dw中的索引号
③
print(money,"的大写为:",zh, "整")
① ② ③
一共有n(3<=n<=100)个学校,各所学校之间的线路长度以一行共n*n个数据输入,
第i组的n个数据为从第i个学校出发到其他学校的线路长度,保证第i组的第i个数据为0。
编写VB程序,实现上述功能。运行程序,在文本框Text1中输入学校总数,
在文本框Text2中按题述方法输入各校之间的距离,点击命令按钮Command1后,在标签Label1中显示最短的线路总长。程序运行界面如图所示。
请回答下列问题:
Const INF = 2147483646
Dim n As Long, a As Long
Dim dis(1 To 10001) As Long, flag(1 To 10001) As Boolean
Dim head(1 To 10001) As Long, nxt(1 To 10001) As Long
Dim ed(1 To 10001) As Long, value(1 To 10001) As Long
Dim cnt As Long, tby As Long, sss As String
Dim i As Long, j As Long
Private Sub Command1_Click()
cnt = 0
n = Val(Text1.Text)
For i = 1 To n
dis(i) = INF : flag(i) = False : head(i) = 0
Next i
tby = 1
sss = Text2.Text
For i = 1 To n
For j = 1 To n
If i <> j Then Call addedge(i, j, a)
Next j
Next i
Dim ans As Long
dis(1) = 0 : ans = 0
For i = 1 To n
Dim hg As Long, u As Long
hg = INF
u = 0
For j = 1 To n
If Then
hg = dis(j)
u = j
End If
Next j
flag(u) = True
Dim p As Long
p = head(u)
Do While p <> 0
Dim v As Long
v = ed(p)
If Not flag(v) And dis(v) > value(p) Then
dis(v) = value(p)
End If
p = nxt(p)
Loop
Next i
Label1.Caption = Str(ans)
End Sub
Sub addedge(a As Long, b As Long, x As Long)
cnt = cnt + 1
value(cnt) = x
ed(cnt) = b
nxt(cnt) = head(a)
head(a) = cnt
End Sub
Function Getin() As Long
Dim aaa As String
aaa = Mid(sss, tby, 1)
If aaa = " " Then tby = tby + 1
aaa = Mid(sss, tby, 1)
Dim bbb As Long
bbb = 0
Do While aaa <> " " And tby <= Len(sss)
bbb = bbb * 10 + Val(aaa) : tby = tby + 1
aaa = Mid(sss, tby, 1)
Loop
Getin = bbb
End Function
这段代码的执行结果是( )
a=int(input())
b=int(input())
if a%3==0:
if b%2==0:
c=a**b
else:
c=a*b
else:
c=a-b
print(c)
实现上述功能的VB代码如下,运行效果如图所示。请回答下列问题:
Const n= 5
Dim a(1 To n) As String
Private Sub Form_ Load( )
'将n个字符串分别赋值给数组元素a(1)、a(2)、……、a(n),并在列表list1中显示
'代码略:
End Sub
Private Sub Command1_ Click( )
Dim s As String, i As Integer, j As Integer
Dim m As Integer, k As Integer
Dim flag As Boolean
s = Text1. Text
m = Len(s)
List2. Clear
flag = False
For i=1 To n
k = Len(a(i))
For j=1 To k- m + 1
If
= s Then '①改错
List2. AddItem a(i)
flag = True
Exit For '退出for 循环
End If
Next j
Next i
If
Then '②填空
List2. AddItem“查找无结果”
End If
End Sub
a(0)= Int(Rnd() * 6+95)
For i=1 to 5
a(i)=a(i-1)-Int(Rnd() * 6)
If i Mod 2=0 then
a(i)=a(i)+a(i) Mod 2
End if
Next i
执行该程序段后,在下列选项中,a(0)~a(5)各元素值可能是( )
c= a(1): cnt= 0
For i= 1 To
If
Then c= a(i)
If
Then cnt= cnt+ 1 Else cnt= cnt- 1
Next i
Text1.Text= "出现次数过半的值是: " &c
上述程序段3个方框处的代码分别为( )
s1 = Text1.Text: s2 = "":n = Len(s1): i = 1
Do While i <= n
ch = Mid(s1, i, 1)
If ch <> "." Then
p = 8: x = Val(ch)
Do While p > 0
Loop
Else
s2 = s2 & ch
End If
i = i + 1
Loop
方框中的代码由以下三部分组成:
①x = x Mod p ②p = p \2 ③s2 = s2 & x \p
下列选项中,代码顺序正确的是( )