PTA L1 043 閱覽室 20分

2021-10-10 19:14:11 字數 923 閱讀 8156

傳送門

這道題其實是資料結構,不難,就是資料處理方面。

我是把小時和分鐘分開儲存的

書的編號作為各個陣列的下標

vis[num]標記編號為num的書是否為借閱狀態

h[num]標記編號為num的書借出小時數

mi[num]標記編號為num的書借出分鐘數

然後在輸出中處理結果就行。

注意幾個易錯點:

1.每次一天過完後都需要重新把我們的各個陣列mst一下,因為上一天可能存在不合法的情況

2.排除不合法的情況,有借無還,無借有還這種,其中有借無還這種包含了,一本書在未被還的情況下借閱多次,那麼按照最後一次借出為準,前面的借出都是不合法的情況

(我在這個測試點wa了,因為我是按照第一次借出為準算的)

**部分:

#include

#define mst(a, n) memset(a, n, sizeof(a))

using

namespace std;

const

int n =

1e3+10;

int t;

int vis[n]

;int h[n]

;int f[n]

;int cnt;

intmain()

if(!vis[num]

|| op ==

's')

else

else

}else}}

if(!cnt)

else

printf (

"%d %.0f\n"

, cnt, ans)

;//cout << num << " " << op << " " << hour << " " << mi;

}return0;

}

PTA L1 043 閱覽室 20 分

天梯圖書閱覽室請你編寫乙個簡單的圖書借閱統計程式。當讀者借書時,管理員輸入書號並按下s鍵,程式開始計時 當讀者還書時,管理員輸入書號並按下e鍵,程式結束計時。書號為不超過1000的正整數。當管理員將0作為書號輸入時,表示一天工作結束,你的程式應輸出當天的讀者借書次數和平均閱讀時間。注意 由於線路偶爾...

L1 043 閱覽室 (20 分)

天梯圖書閱覽室請你編寫乙個簡單的圖書借閱統計程式。當讀者借書時,管理員輸入書號並按下s鍵,程式開始計時 當讀者還書時,管理員輸入書號並按下e鍵,程式結束計時。書號為不超過1000的正整數。當管理員將0作為書號輸入時,表示一天工作結束,你的程式應輸出當天的讀者借書次數和平均閱讀時間。注意 由於線路偶爾...

L1 043 閱覽室 (20 分

天梯圖書閱覽室請你編寫乙個簡單的圖書借閱統計程式。當讀者借書時,管理員輸入書號並按下s鍵,程式開始計時 當讀者還書時,管理員輸入書號並按下e鍵,程式結束計時。書號為不超過1000的正整數。當管理員將0作為書號輸入時,表示一天工作結束,你的程式應輸出當天的讀者借書次數和平均閱讀時間。注意 由於線路偶爾...