数字字符 | 0 | 1 | … | 7 | 8 | 9 | |||||||||||||||
二进制值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | … | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 |
对应编码 | A | A | A | B | … | B | D | C | A | C | B |
车上最重货物的重量*0.8+车上其余货物的总重量
已知每个站点所需运送的货物的重量和目标站点,小明编写了一个VB程序计算货车从1号站点到达第n号站点的货运费用总额,程序运行界面如图所示。
若各个站点货物的送达站点和重量信息如图所示,货车到达各个站点时数组d和数组q的状态如下。
站点1出发 数组d: 1 数组q: 5 将第1件货物 信息保存 下一站费用:5*0.8=4 | 到达站点2 2、1 7、5 放货物2 最重重量为7 7*0.8+5=10.6 | 到达站点3 2、3、1 7、5、5 货物2下车 放货物3 最重重量为5 5*0.8+3=7 | 到达站点4 2、3、1、4 7、5、10、10 货物3下车 放货物4 最重重量为10 10*0.8+5=13 |
在搭乘一次地铁后可以获得一张面额为本次地铁价格的优惠券,有效期为60分钟,在有效期内可以使用这张优惠券,免费搭乘一次票价不超过这张优惠券的公交车。在有效期内指开始乘公交车的时间与开始乘地铁的时间之差小于等于60分钟。搭乘地铁获得的优惠券可以累积,即可以连续搭乘若干次地铁后再连续使用优惠券搭乘公交车,但每次搭乘公交车只能使用一张优惠券。搭乘公交车时,如没有合适的优惠券,则自己全额支付;如果有多张优惠券满足条件,则优先消耗获得最早的优惠券。
小叶同学根据优惠政策,编写了计算优惠后需要支付费用的程序,同时将乘车记录按时间先后顺序逐行显示。在Text1里输入乘车记录的数量n,Text2里输入n组数据,每组乘车记录有3个数据,依次是车型(1表示地铁、2表示公交)、开始乘车时间、乘车票价。每个数据以逗号结尾。不会有两次乘车记录出现在同一分钟。数组d存储乘车记录的结构如图a所示:
第1条乘车记录 | 第2条乘车记录 | …… | |||||
数组中的位置 | 1 | 2 | 3 | 4 | 5 | 6 | …… |
对应的值 | 2 | 200 | 3 | 1 | 3 | 7 | …… |
车型 | 开始时间 | 票价 | 车型 | 开始时间 | 票价 | …… |
Const C = 10: Const R = 12 '每排 10 座,共 12 排
For i = 5 To 10 '统计最佳观影区中的空座位编号
For j = 3 To 8
If zw((i - 1) * C + j) = 0 Then
n = n + 1
kzw(n) =
End If
Next j
min = x
End If
ans = "未能推荐座位,请手工选座"
Else
ans = ans + "第" + CStr(i \ C + 1) + "排" + CStr(i Mod C) + "座 "
Next i
Const n=640 '参加统测总学生数
Const nc =16 '班级数
Dim c(1 To nc) As Integer
Dim d(1 To n)As Integer
Private Sub Form_Load()
Private Sub Command1_Click()
For i = 1 To nc
b(i) = 0
Next i
For i = 1 To n '统计每个班级统测人数
Next i
k = 1
c(i) = k
Next i
For i = 1 To n
k = class(i)
c(k) = c(k) + 1
Next i
For i = 1 To nc '对各班级按统测成绩进行排序
Call px
Next i
End Sub
Private Sub px(head As Integer, tail As Integer)
Dim i As Integer, j As Integer, t As Integer
For i = head To tail - 1
For j = tail To i + 1 Step -1
If
t = d(j): d(j) = d(j - 1): d(j - 1) = t
End If
Next j
Next i
End Sub
Dim cha(1 To 10)As Integer'记录一条路线中各个岔路口
Dim lu(1 To 10) As Integer’记录路线经过的位置
pos=1:j=0:lu(1)=1:i=1
Do While i <=9‘第1个和最后1个固定,中间有9个需要路过的路径点
If pos Mod 6<>0 And a(pos+1)=1 Then' 向右畅通
If pos+6 <=30 and a(pos+6)=1 Then‘记录岔路口
j=j+1
End If
pos=pos+1
i=i+1
1u(i)=pos
Else If pos+6 <=30 And a(pos+6)=1 Then’向下畅通
pos=pos+6
i=i+1
lu(i)=pos
Else’坐标退回到上一个岔路口
If j=0 Then Exit Do
Do While lu(i)<>cha(j)
Loop
a(cha(j)+1)=0’标记此路口右侧不可用
j=j-1
End If;
Loop
If j=0 Then
Text1.Text="没有畅通道路"
Else
For i=1 To 10
Text1.Text=Text1.Text+Str(lu(i))
Next i
End If
End Sub
Private Sub Form_Load()
‘生成图形矩阵的数组a各个元素,并在列表框显示,代码略
End Sub
ch = Mid(s, i, 1)
If ch < >“,” Then
t=t+ch
Else
a(k) = Va1 (Mid(t, 1, 1))
b(k) =
c(a(k)) = c(a(k)) + b(k)
t= “” :k=k+1
End If
m = cs(i)
If
Dim sa As String, mark As Integer, maxd As Integer, cnt As Integer, i As Integer
maxd=0:mark=0:cnt=0:i=1
Do While i <= Len(c(a))
sa = Mid(c(a), i, 1)
If sa = “-” Then
If mark = 1 Then
If Abs(cnt) > Abs (maxd) Then maxd = cnt
cnt = -1
Else
End If
i=i+2
mark = -1
Else
If mark = -1Then
If Abs(cnt) > Abs (maxd) Then maxd = cnt
cnt=1
Else
cnt=cnt+1
End If
i=i+1
mark = 1
End If
Loop
If Abs(cnt) > Abs (maxd) Then maxd = cnt
cs = maxd
Label1.Caption = "学号为:" & xh2(i) & "的同学,本次测试成绩第二,分数为:" & g1(i)