Dims As String, c As String, st As String
Dim n As Integer, i As Integer
s ="20zj20sx7":n=0:st=""
For i=1 To Len(s)
c=Mid(s,i,1)
If c>= "a" And c<= "z" Then
st=Chr(Asc("a") *2+25-Asc(c))+st
Else
n=n*10+ Val(c)
End If
Next i
st =st+str(n)
执行该程序段后,变量st的值是( )
s = "318714101223411624"
c=Mid(s, 1, 1):i=1:max=0
For j=2 To Len(s)
If t> c Or j = Len(s) Then
End If
Next j
上述程序段中方框处可选语句如下:
①i=j
②t=c
③c = Mid(s, j, 1)
④If j-i>max Then max=j-i
则(1)(2)(3)(4)处语句依次为( )
Key = Val(Text1.Text)
i=1:j=10
Do While i<= j
m= (i+j)\ 2
s= s+Str(a(m)\ Key)
If a(m) > Key Then j= m- 1 Else i=m+1
Loop
Text2.Text = s
数组元素a(1)到a( 10)的值依次为“2,3,5,8,9,10,13,17,19,20”。在文本框Text1中输入待查找的整数,执行该程序段,则文本框Text2中显示的内容可能的是( )
(提示:COUNTIFS函数用于计算多个区域中满足给定条件的单元格的个数。例如:= COUNTIFS(F4:F83,"<60",B4: B83,J5)表示求F4: F83区域内所选内容小于“60”且B4:B83区域内所选内容为“0302”的单元格数据,F列、G列均为百分数。)
编写一个VB程序,实现如下功能:程序启动时产生n个1~20之间的随机整数,在文本框
Text2中输人整数k(k≤n),单击“查找"按钮Command1后,在标签Label1上显示第k大的数及位置。程序运行界面如图所示。
Const n= 10
Dima(1 To n) As Integer
Private Sub Form_ Load( )
'本过程产生n个1~20之间的随机整数存数组a中,并在文本框Text1中显示,代码略
End Sub
Private Sub Command1_Click()
Dimi As Integer,key As Integer,c As Integer,k As Integer
Dim b(1 To 20) As Integer
For i= 1 To n
b(a(i)) = b(a(i)) +1
Next i
i= 20
Do While i> 1 And b(i) < k
i=i-1
Loop
Label3.Caption="第"+Str(k)+"大的数是"+Str( key)
c=0
For i=1 To n
If a(i) = key Then c= c+1
If c= Then Exit For
Next i
Label3.Caption =Label3.Caption + ",在第"+Str(i)+"位置"
End Sub
安排方法如下:先计算出每个窗口的平均售卖套餐数量num=套餐总需求量(n)\窗口数(k),然后按平均套餐数量num顺次安排“ABCD"四种套餐(首轮每个窗口出售一种套餐,数量为num),当某种套餐需求数量或安排后剩余需求数量小于套餐平均数num时,待首轮安排结束后安排在混合窗口。如第一轮安排单-套餐窗口编号为1到b1,那么混合窗口编号为b1+1到k,为了均衡混合窗口的套餐种数,混合窗口从窗口编号k到b1+1按各类套餐剩余需求数由大到小安排一轮(安排k-b1种套餐),然后从窗口编号b1+1到k按各套餐剩余数量由大到小顺次安排,当窗口安排套餐数量达到num时,剩余套餐换至下一窗口继续安排,最后一个窗口(k窗口)人数允许大于num。
编写VB程序,实现窗口套餐分配功能:点击“载人口点某窗口安排套餐预订信息”按钮Command1后,将预订套餐总人数显示在文本框Text1中,各套餐预订人数显示在列表框List1中,在文本框Text2中输入点菜窗口数,然后点击“窗口安排方案”按钮Command2,在列表框List2中显示点菜窗口安排结果。程序运行界面如图所示。
Dim a(1 To4) As Integer'顺次存储“ABCD"四种套餐预订人数
Dim b(1 To 20) As Integer'存储各窗口安排套餐数量
Dim c(1 To 20) As String '存储窗口套餐方案
Dim n As Integer
Private Sub Command1_Click()
'载人套餐预订信息,预订人数存人n,各套餐预订数量存人a数组, 代码略
End Sub
Private Sub Command2_ Click()
Dim k As Integer,num As Integer, b1 As Integer
Dim i As Integer,j As Integer, t As Integer, t1 As Integer
Dims As String
Dim d(1 To 4) As Integer
s = "ABCD"
k = Text2.Text
num = n\k '计算各窗口平均排队人数
b1= 1
For i=1 To 4
Do While a(i):>=num
c(b1) = Mid(s, i, 1)
b(b1) = num
a(i) = a(i)-num
b1=b1+1
Loop
Next i
b1=b1-1
For i = 1 To 4
For j=i+1 To 4
If a(i) < a(j) Then
t=a(i):a(i)=a(j):a(j)=t
t=d(i):d(i)=d(j):d(j)=t
End If
Next j
Next i
t=k
For i=1 To k-b1 '按各类套餐剩余需求数从大到小安排一轮
b(t) = a(i)
c(t) = Mid(s, d(i), 1)
a(i) = 0
t=t-1
Next i
t =i
For i=b1 To k
Do While b(i)<num Or i=k And num*(k-1)+b(k)<>n
b(i) = b(i) 十a(t)
a(t) = 0
t=t+1
Loop
If b(i)>num And i<>k Then
t=t-1
b(i) = num
End If
Next i
List2.AddItem "套餐数量”
For i =1 To k
List2.AddItem c(i) + ""+ Str(b(i))
Next i
End Sub