序号 | 疫苗编号 | 疫苗名称 | 生产厂商 | 入库/出库 | 数量 |
R001 | MH098734 | 灭活疫苗 | 国药武汉生物 | 入库 | 5000 |
R002 | MH076321 | 灭活疫苗 | 北京科兴 | 入库 | 15000 |
C001 | MH098734 | 灭活疫苗 | 北京科兴 | 出库 | 6800 |
R003 | CZ0102568 | 重组新冠病毒疫苗 | 康希诺 | 入库 | 10000 |
… | … | … | … | … | … |
下列关于“疫苗入库出库”数据表的描述,错误的是( )
s=Text1.Text
ans=0
Text2.Text=Str(ans)
若在Text1中输入110,则Text2中输出内容是6,划线处代码不正确是( )
t = Val(Mid(s, i, 1)) ans = ans * 2 + t
Next i
B . For i = 1 To Len(s)t = Val(Mid(s, i, 1))
ans = ans + t * 2 ^ (Len(s) - i)
Next i
C . i = Len(s)Do While i > 0
t = Val(Mid(s, Len(s) - i + 1, 1)) ans = ans + t * 2 ^ (i - 1)
i = i - 1 Loop
D . i = Len(s)Do While i >= 1
If Val(Mid(s, i, 1)) = 0 Then
ans = ans * 2 Else
ans = ans * 2 + 1
End If
i = i - 1
Loop
Dim s As String, t As String, res As String Dim i As Integer, k As Integer
s = "jpqzaabdcfb"
i = 1: k = 1: res = "" t = Mid(s, 1, 1)
Do While i < Len(s)
If Mid(s, i + 1, 1) >= Mid(s, i, 1) Then
k = k + 1
Else
res = res + CStr(k) + t
k = 1
t = Mid(s, i + 1, 1)
End If
i = i + 1
Loop
Label1.Caption = res
执行该段程序段后,Label1中输出的值为 ( )
Const n = 7
Dim a(1 To 7) As Integer
Dim flag(1 To 7) As Integer 'flag 数组初始值均为 0 Dim k As Integer, t As Integer
a(1) = 18: a(2) = 34: a(3) = 56: a(4) = 23: a(5) = 29: a(6) = 39: a(7) = 72 k = (1 + 7) / 2
For i = 1 To n
For j = 1 To n
If a(j) > a(k) And flag(j) = 0 Then t = a(j): a(j) = a(k): a(k) = t
Next j
flag(k) = 1
k = (k + 5) Mod 7 + 1
Next i
执行该段程序后,数组元素a(1)到a(7)的值为( )
图 a
请回答下列问题:
图 b
图 c
图 d
Private Sub Command1_Click()
Dim n As Integer, i As Integer, j As Integer
Dim a(1 To 100) As Integer, b(1 To 100) As Integer Dim s As String, chr As String, temp As String
s = Text1.Text
i = 1: n = 0
Do While i <= Len(s)
ch = Mid(s, i, 1)
If ch >= "0" And ch <= "9" Then
temp = temp + ch
Else
n = n + 1
①
temp = ""
End If
i = i + 1
Loop
For i = 2 To n
②
Next i
For i = 1 To n - 2
For j =
If b(j) < b(j - 1) Then
t = b(j): b(j) = b(j - 1): b(j - 1) = t
End If
Next j
Next i
For i = 1 To n - 1
If b(i) <> i Then Exit For
Next i
If i = n Then Label1.Caption = "完美跳数" Else Label1.Caption = "非完美跳数"
End Sub
① ②
图a
解决该问题的算法思想如下:
①从第一行开始逐行放置棋子。
②每行从左到右逐列尝试放置棋子,放置之前与已放置的棋子作比对。
③若无冲突,放置该行棋子并跳转至下一行。
④若有冲突,则在本行中向右继续寻找放置棋子的位置,若找不到则返回上一行,重新寻找棋子放置位置。
⑤最后一行放置结束,输出一种方案并继续寻找下一方案。用 VB程序实现该算法,程序界面设计如图b所示。
图b
Const n = 6
Dim a(1 To n) As Integer
Dim m As Integer
Private Sub Command1_Click( )
Dim i As Integer, j As Integer m = 0
For i = 1 To n
a(i) = 0 'a(i)存储第 i 行放置棋子的列号
Next i
For i = 1 To n + 1
If i = n + 1 Then '所有行棋子放置完毕,输出一种方案
m = m + 1
s = ""
For j = 1 To n
s = s + Str(j) + ":" + Str(a(j)) + "|"
Next j
List1.AddItem s
i = i - 2
Else '寻找下一行棋子放置位置
j = a(i) + 1
Do While j <= n And check(i, j) = False
Loop
If j <= n Then
a(i) = j
Else
a(i) = 0
If i < 0 Then Exit For
End If
End If
Next i
Label1.Caption = "共有" + Str(m) + "种方案"
End Sub
'判断当前放置的棋子与已放置有无冲突
Function check(i As Integer, j As Integer) As Boolean check = True
For k = 1 To i - 1
If a(k) = j Or j + i = a(k) + k OrThen
check = False
End If Next k
End Function