C C 程式設計學習 第19周 病人排隊

2021-10-18 17:55:04 字數 1205 閱讀 3110

題目鏈結

病人登記看病,編寫乙個程式,將登記的病人按照以下原則排出看病的先後順序:

1.老年人(年齡 ≥60 歲)比非老年人優先看病。

2.老年人按年齡從大到小的順序看病,年齡相同的按登記的先後順序排序。

3.非老年人按登記的先後順序看病。

輸入格式

第 1 行,輸入乙個小於 100 的正整數,表示病人的個數;

後面按照病人登記的先後順序,每行輸入乙個病人的資訊,包括:乙個長度小於 10 的字串表示病人的 id(每個病人的 id 各不相同且只含數字和字母),乙個整數表示病人的年齡(不超過 100 歲),中間用單個空格隔開。

輸出格式

按排好的看病順序輸出病人的 id,每行乙個。

5

021075

40004003

15010158

67021033

75102012

30

021033

010158

021075

004003

102012

結構體排序,老年人一組,非老年人一組。

c++**:

#include

using

namespace std;

struct t

num1[

110]

, num2[

110]

;int

cmp(t a, t b)

bool

cmp1

(t a, t b)

bool

cmp2

(t a, t b)

intmain()

else

}sort

(num1, num1 + cnt, cmp1)

;sort

(num2, num2 + cnt2, cmp2)

;for

(int i =

0; i < cnt; i++

) cout << num1[i]

.id << endl;

for(

int i =

0; i < cnt2; i++

) cout << num2[i]

.id << endl;

}return0;

}

C C 程式設計學習 第19周 整數去重

題目鏈結 輸入n個整數的序列,要求對這個序列進行去重操作。所謂去重,是指對這個序列中每個重複出現的整數,只保留該數第一次出現的位置,刪除其餘位置。輸入格式 輸入包含兩行 第一行包含乙個正整數n 1 n 20000 表示第二行序列中數字的個數 第二行包含n個整數,整數之間以乙個空格分開。每個整數大於等...

C C 程式設計學習 第19周 整數奇偶排序

題目鏈結 蒜術師給了你乙個 10 個整數的序列,要求對其重新排序。排序要求 1.奇數在前,偶數在後 2.奇數按從大到小排序 3.偶數按從小到大排序。輸入格式 輸入一行,包含 10 個整數,彼此以乙個空格分開,每個整數的範圍是大於等於 0,小於等於 100。輸出格式 按照要求排序後輸出一行,包含排序後...

C C 程式設計學習 第6周 A B問題

題目鏈結 相信你已經學會 a b 問題了,那麼問題又來了 輸入兩個正整數 a 和 b 求 a b。輸入格式 一行,包含兩個正整數 a 和 b,中間用單個空格隔開。1 a,b 50000。輸出格式 乙個整數,即 a b 的值。3 412注意int可能存不下,所以要開long long。c語言 incl...