Private Sub Command1_Click()
a = Text1
For i = 1 To Len(a)
b = Mid(a, i, 1)
c = Chr(Asc(b) )
d = d + c
Next i
Text2 = d
End Sub
如果在文本框text1中输入字符"316100",则文本框text2中显示的值是:( )
Dim a(1 To 10) As Integer
Key = Int(Rnd * 32) * 3 + 3
s = 0: i = 1: j = 10
Do While i <= j
m = (i + j) \ 2
If Key = a(m) Then Exit Do
If Key > a(m) Then
i = m + 1: s = 3 * s + 2
Else
j = m - 1: s = 3 * s
End If
Loop
数组a(1)到a(10)的值依次为“4,7,9,15,24,32,37,54,75,90”,执行该程序段后,s的值不可能为( )
Private Sub Command 1_Click()
Dim s As String,t As String,c As String
Dim i As Integer,p As Integer
s="":t=""
For i=1 To Len(Text 1.Text)
c=Mid(Text 1.Text,i,1)
If c="," Then
p=Val(t)
s=s+Mid(Text2.Text,p,1)
t=""
Else
t= ①
End If
Next i
Label1.Caption= ②
End Sub
①②
先打顺子牌(顺子指连续的5个及以牌型,如45678,顺子最大到A),若有多个顺子,先长后短长度和同按先小后大的顺序打出然后按4张、3张、2张、1张的顺序出牌,同一个牌型从小到大。
小刘依据上述算法设计了VB程序,其中牌型“10”用数字“0”代替表示,如图所示,请回答下列问题。
Private Sub Command1_Click()
Dim i As Integer, j As Integer
Dim a (1 To 13) As Integer, max As Integer, t As Integer, last As Integer
Dim sa As String, stem As String, flag As Boolean
Const s="34567890JQKA2" '用0代替牌10
'发牌和洗牌代码略,在标签Label1显示初始牌型,洗牌后数组a各元素分别存储牌型3~2的数量
t=17 '刚开始牌有17张
Do While t>0 '打牌
flag=True
Do While flag '寻找牌中有没有顺子牌
max =0: k =1: flag=False
For i=1 To 13
If ① Then
k=k+1
If k > Max Then
Max = k
Last = i+1 '记录连续牌的最后一张
End If
Else
k=1
End If
Next i
If Max >= 5 Then '有顺子牌,把最长的这把顺子打出来
flag=True: sa= ""
For j = ② To last
Stem=Mid(s, j, 1)
sa=sa +stem+ ""
a(j)=a(j)-1
Next j
List1.AddItem sa '顺子在列表框显示
t=t-max
End If
Loop
For i= 1 To 13 '出4个一样的牌
If a(i)=4 Then
stem=Mid(s, j, 1)
List1.AddItem stem+stem+stem+stem
a(i)=0
③
End If
Next i
'3张、2张、单张出牌,具体代码略
Loop
End Sub
① ② ③
请输入出生年份,输入0结束:2004
你的生肖是:猴
请输入出生年份,输入0结束:
完善下列代码,实现上述功能。
def shengxiao(year):
#求生肖
zodiac=["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"]
#以下为主程序
myyear=int(input("请输入出生年份,输入0结束:"))
while myyear!=0:
print(“你的生肖是:”, )
myyear=int(input("请输入出生年份,输入0结束:"))
Dim s As String
s="浙江杭州市"
If Len(s)>=5 Then
s=Mid(s,3,2)
Else
s=Mid(s,1,2)
EndIf
该程序段运行后,s的值为( )
程序描述: 所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。如,假定初始整数为5,计算过程分别为16、8、4、2、1。
程序要求输入一个正整数(不为1),将经过处理得到1的过程输出来。代码如下:
x=int(input('输入一个正整数:'))
while ①
if ②
x=x/2
③
else:
④
③
if x==1:
⑤
经过扫描后得到的数据结果为:
57 | 45 | 0 | 23 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | -30 | 1 | 0 | 0 | 0 | 0 | 0 |
-16 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
“57,45,0,0,0,0,23,0,-30,-16,0,0,1,0,0,0,0,…,0,0”,数据元素个数为64个。进一步经过压缩后,最终得到行程编码:“57, 1, 45, 1, 0, 4, 23, 1, 0, 1,-30, 1,-16, 1, 0, 2, 1, 1, 0, 51”,数据元素个数为20个。
Dim a(0 To 1000) As Integer '存储原矩阵数据,按行优先存储
Dim b(0 To 1000) As Integer '存储Z形扫描后数据
Dim c(0 To 1000) As Integer '存储行程编码压缩后数据
Dim n As Integer
‘矩阵导入代码略,以行优先存储在a数组中,如例子中数据存储顺序为“57,45,0,23,0,0…”
Private Sub Command2_Click()
Dim choice As Integer ' 1:向右移动 ;2:向右上移动;3向下移动 4向左下移动
Dim row As Integer, col As Integer, i As Integer, j As Integer
Dim pre As Integer, count As Integer
choice = 1: row = 0: col = 0: i = 0
Do While (row <> n - 1 Or col <> n - 1)
b(i) = a(row * n + col):i = i + 1
If choice = 1 Then
If row = 0 Then choice = 4 Else choice = 2
ElseIf choice = 2 Then
row = row - 1: col = col + 1
If Then
choice = 1
ElseIf col = n - 1 Then
choice = 3
End If
ElseIf choice = 3 Then
row = row + 1
If col = 0 Then choice = 2 Else choice = 4
ElseIf choice = 4 Then
row = row + 1: col = col - 1
If row = n - 1 Then
choice = 1
ElseIf col = 0 Then
choice = 3
End If
End If
Loop
b(i) = a(n * n - 1):j = 0: pre = b(0): count = 0
For i = 0 To n * n - 1 '输出Z形序列,并进行行程压缩
If pre = b(i) Then
count = count + 1
Else
c(j) = pre: c(j + 1) = count
pre = b(i):j = j + 2
End If
Next i
c(j) = pre: c(j + 1) = count
Text1.Text = ""
For i = 0 To j + 1
Text1.Text = Text1.Text + Str(c(i)) + ","
Next i
End Sub
请回答下列问题:
Const n= 12
Dim a(1 To n) As Integer, mc(1 To n) As Integer
Private Sub Command1_Click()
'n个用户的ID依次为1到n,读取n个用户的积分和排名数据分别存储到数组a和数组mc中,并在列表框Listl中显示ID、积分、积分排名,代码略
End Sub
Private Sub Command2_Click()
Dim i As Integer, j As Integer, k As Integer, d As Integer
Dim s As String, flag As Boolean, x As Integer, y As Integer
Dim p(1To20) As Integer '存储输入的ID和积分增值,每次输入不超过10组
For i=1 To 20
p(i)=0
Next i
s= Text1.Text
d=0:k=0
For i= 1 To Len(s)
If Mid(s, i, 1)= "," Then
If flag Then
x = Val(Mid(s, i-d, d))
For j= 1 To k Step 2
If p(j) =x Then Exit For
Next j
If j> k Then
p(j)=x:k=k+2
End If
Else
y = Val(Mid(s, i-d, d))
p(i+1)=p(j+ 1)+y
End If
flag= Not flag: d= 0
Else
End If
Next i
For i=1 To k\2
x=p(2*i-1):y=p(2*i)
me(x)= 1
For j= 1 Ton
If j<> x Then
If a(j)<a(x)+y And a(j)>=a(x) Then
End If
If a(j)> a(x) +y Then mc(x)= m(x)+ 1
Next j
Next i
'在列表框List2中显示ID,积分、排名,代码略
End Sub
内码(十六进制) |
CA |
B1 |
二进制 |
11001010 |
10110001 |
后5位十进制 |
10 |
17 |
前3位十进制 |
6 |
5 |
加密结果 |
10,6,17,5 |
按照上述规则,小明设计了一个解密的VB程序,功能如下:单击“解密”按钮,程序依次将文本框Text1中的字符提取,进行解密处理,并输出在文本框Text2中,程序效果如图a所示,请回答下列问题
Private Sub Command1_Click()
Const n = 100
Dim s As String, ch As String, nm As String
Dim p As Integer, i As Integer, k As Integer, t As Integer Dim a(1 To n) As Integer
s = Text1.Text p = 0: k = 0
For i = 1 To Len(s)
ch = Mid(s, i, 1)
If ch >= "0" And ch <= "9" Then
Else
If k Mod 2 = 1 Then
Else
a(k+1) = p
End If
k = k + 1:p = 0
End If
Next i
a(k + 1) = p * 32 + a(k)
For i =
nm = nm + dtoh(a(i))
Next i
Text2.Text = nm
End Sub
Function dtoh(x As Integer) As String Const
st1 = "0123456789ABCDEF"
Do While x > 0
x = x \ 16
Loop
End Function
Private Sub Command1_Click()
Dim n As Integer, ans As Integer
n = 5
Dim x(1 To 5) As Integer
x(1) = -30: x(2) = 26: x(3) = -18: x(4) = 60: x(5) = 22
ans = 60
For i = 1 To n
If x(i) < 0 Then x(i) = -x(i)
ans = ans + gcd(ans, x(i))
Next i
Text1.Text = Str(ans)
End Sub
Function gcd(a As Integer, b As Integer)
If b = 0 Then
gcd = a
Else
gcd = gcd(b, a Mod b)
End If
End Function
执行该程序段后,Text1. Text中显示的值为( )
编写VB程序,统计接送n个参会者所需的最少车辆数。运行程序,列表框List1中显示所有参会者提交的信息,按到达时间先后排列。单击“统计”按钮Command1,在文本框Text1 中显示所需的最少车辆数。程序运行界面如图所示。
Dim n As Integer
Dim a(1 To 100) As String
Dim b(1 To 100) As Integer
Dim c(1 To 100) As Integer
Dim fg(1 To 100) As Boolean
Private Sub Form_Load()
'读取n个参会者提交的信息,依次存入a(1)~a(n)
'将a(1)~a (n)按参会者到达时间排序,并在List1中显示,代码略
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer, k As String
Dim sum As Integer, q As Integer
For i=1 To n
b(i) = T(Mid(a(i), 1, 5))
c(i) = b(i) + Int Mid(a(i), 7, 1))
For j=1 To 2 Step-1
k=
If c(k) > c(j) Then
q=b(k):b(k)=b(j):b(j)=q
q=c(k):c(k)=c(j):c(j)=q
Else
Exit For
End If
Next j
Next i
sum=0
For i=1 To n
If fg(i) = False Then
For j=1 To n
If Then
fg(j) = True
End If
Next j
End If
Next i
Text1.Text = str (sum)
End Sub
Function T(str1 As String) As Integer
T = Int(Mid(str1,1, 2)) * 60 + Int(Mid(str1, 4, 2))
End Function