假設你身為一個台電工程師,你正要為 GOGO 百貨的電梯設計一套電費計算系統,來計算GOGO 百貨的電梯每天所耗的電費是多少。已知電梯所耗的電力會和它所運作的樓層成正比,但是電梯下樓比上樓要省電。所以想請你根據下面這個規則,設計一套電費計算系統。
(1) 電梯上樓時,每經過一個樓層,要花電費 20 元。
(2) 電梯下樓時,每經過一個樓層,要花電費 10 元。
(3) 你可以假設電梯停在某一個樓層時不會耗電。
舉例來說:今天有一個電梯從2 樓到8 樓再到5 樓,則所耗的電費為:從2樓到8 樓,所耗的電費是(8-2) x 20 = 120 元。電梯從8 樓到5 樓,所耗的電費是(8-5) x 10 = 30 元。所以總共花了150 元。
輸入說明 :
輸入檔中會有多筆資料,第一行是一個整數 N(1<=50),用來表示某一天中電梯所停過的樓層數。第二行是一組以空白分隔的n 個數字,分別表示電梯先後停過的樓層。 N=0 的時候,程式結束。
輸入測資中的電梯樓層最高不會超過 101 樓。
輸出說明 :
請根據電梯上下運作的樓層,計算出在一日中電梯運作所花的電費。(為了節能減碳,每日電費最高不會超過10,000 元。)
範例輸入 :
3
2 8 5
7
2 9 7 3 4 6 1
0
範例輸出 :
150
310
Dim mycount, num(), money As Integer
回覆刪除Private Sub Form_Load()
Me.Hide
Open App.Path & "\in.txt" For Input As #1
Open App.Path & "\out.txt" For Output As #2
Do
Input #1, mycount
If mycount = 0 Then Exit Do
ReDim num(mycount)
For i = 1 To mycount
Input #1, num(i)
Next
For ii = 1 To mycount - 1
If num(ii + 1) - num(ii) > 0 Then money = money + ((num(ii + 1) - num(ii)) * 20)
If num(ii + 1) - num(ii) < 0 Then money = money + (Abs(num(ii + 1) - num(ii)) * 10)
Next
Print #2, money
money = 0
Loop
Close #1
Close #2
End
End Sub
'(1) 電梯上樓時,每經過一個樓層,要花電費 20 元。
回覆刪除'(2) 電梯下樓時,每經過一個樓層,要花電費 10 元。
Dim sum As Integer
Private Sub Form_Load()
Me.Hide
Open App.Path & "\in.txt" For Input As #1
Open App.Path & "\out.txt" For Output As #2
Do
Input #1, n
If n = 0 Then Exit Do
Line Input #1, x
y = Split(x)
For i = 1 To UBound(y) - 1
If y(i) > y(i - 1) Then sum = sum + (Val(y(i)) - Val(y(i - 1))) * 20
If y(i) < y(i - 1) Then sum = sum + (Val(y(i - 1)) - Val(y(i))) * 10
Next
Print #2, sum
sum = 0
Loop
Close #2
Close #1
End
End Sub
Private Sub Form_Load()
回覆刪除Me.Hide
Open App.Path & "\in.txt" For Input As #1
Open App.Path & "\out.txt" For Output As #2
Do
Input #1, x
If x = 0 Then Exit Do
Line Input #1, t
s = 0
a = Split(t, " ")
For i = 1 To x - 1
If a(i - 1) < a(i) Then s = s + (Val(a(i)) - Val(a(i - 1))) * 20
If a(i - 1) > a(i) Then s = s + (Val(a(i - 1)) - Val(a(i))) * 10
Next
Print #2, s
Loop
Close
Close
End
End Sub