小韋老師 神犇營 my0122 藥房管理

2021-09-25 07:39:28 字數 1609 閱讀 4678

隨著資訊科技的蓬勃發展,醫療資訊化已經成為醫院建設中必不可少的一部分。計算機可以很好地輔助醫院管理醫生資訊、病人資訊、藥品資訊等海量資料,使工作人員能夠從這些機械的工作中解放出來,將更多精力投入真正的醫療過程中,從而極大地提高了醫院整體的工作效率。

對藥品的管理是其中的一項重要內容。現在藥房的管理員希望使用計算機來幫助他管理。假設對於任意一種藥品,每天開始工作時的庫存總量已知,並且一天之內不會通過進貨的方式增加。每天會有很多病人前來取藥,每個病人希望取走不同數量的藥品。如果病人需要的數量超過了當時的庫存量,藥房會拒絕該病人的請求。管理員希望知道每天會有多少病人沒有取上藥。

輸入共 3 行, 第一行是每天開始時的藥品總量 m(20 ≤ m ≤ 500)。

第二行是這一天取藥的人數 n(0 < n ≤ 100)。

第三行共有 n 個數,分別記錄了每個病人希望取走的藥品數量(按照時間先後的順序),每兩個數用乙個空格隔開。

只有 1 行,為這一天沒有取上藥品的人數。

30

610 5 20 6 7 8

2
思路:

整體思路:

對於 n 個人,從第 1 個人開始,若第 1 個人的藥品需求數小於等於當前

所剩的藥品數,則可以將藥取走,並且所剩藥品數要減去被取走的數量。

第 2 個人也是一樣,若第 2 個人的藥品需求數小於等於當前所剩的藥品數,

則可以將藥取走,並且所剩藥品數要減去被取走的數量。

以此類推。

所以要維持乙個當前藥品剩餘量,然後和目前的人所需的藥品量做比較,若

能取走藥品,則將所剩藥品數更新(減去取走的量),否則沒有取到藥的人數

加 1 即可。

具體步驟:

1.定義兩個變數,用來接收藥品總量,取藥人數,並將這兩個變數輸入:

int m, n;  // 藥品總量,取藥人數 

cin >> m >> n;

2.定義乙個變數,用來接收每個人的所需要的藥品數:

int request;  // 用來接收需要的藥品數
3.定義乙個變數,用來記錄未取到藥的人數(計數器),並初始化為 0:

int ans = 0;  // 未取到藥的人數
4.對於 n 個人,做 n 次操作:

1)輸入當前的人所需藥品數

2)如果當前這個人所需藥品數小於等於所剩藥品數,則所剩藥品數減去

這個所需藥品數(相等與取走了這麼多);否則未取到藥的人數加 1。

for (int i = 0; i < n; i++) 

else ans++; // 若所需藥品數大於所剩藥品數,則未取到藥的人數加 1

}

5.輸出未取到藥的人數。

完整**:

#include using namespace std;

int main()

else ans++; // 若所需藥品數大於所剩藥品數,則未取到藥的人數加 1

} // 輸出未取到藥的人數

cout << ans;

return 0;

}

小韋老師 神犇營 my0049 登入驗證

描述 我們在登入 的時候需要驗證密碼是否正確。現在請你寫乙個程式來驗證登入密碼是否正確。密碼為 5 位數。本題的輸入共 5 行,前 4 行是存進去的 4 個密碼,第 5 行是需要驗證的密碼,需要驗證該密碼是否為存進去的第三個密碼,若是,則輸出 yes 否則輸出 no 輸入本題的輸入共 5 行,前 4...

小韋老師 神犇營 my0184 開關燈

假設有 n 盞燈 n 為不大於 5000 的正整數 從 1 到 n 按順序依次編號,初始時全部處於開啟狀態 有 m 個人 m 為不大於 n 的正整數 也從 1 到 m 依次編號。第乙個人 1 號 將燈全部關閉,第二個人 2 號 將編號為 2 的倍數的燈開啟,第三個人 3號 將編號為 3 的倍數的燈做...

小韋老師 神犇營 my0163 完全數

求正整數 2 和 n 之間的完全數 一行乙個數 完全數 因子之和等於它本身的自然數,如 6 1 2 3 輸入n 1 n 5000 一行乙個數,按由小到大的順序。76破題 考查因子的概念和自定義函式。因子意思是 a 能被 b 整除 a b 0 則說明 b 是 a 的因子。思路 1.首先定義變數 n,並...