描述
病人登記看病,編寫乙個程式,將登記的病人按照以下原則排出看病的先後順序:
1. 老年人(年齡 >= 60歲)比非老年人優先看病。
2. 老年人按年齡從大到小的順序看病,年齡相同的按登記的先後順序排序。
3. 非老年人按登記的先後順序看病。
輸入第1行,輸入乙個小於100的正整數,表示病人的個數;
後面按照病人登記的先後順序,每行輸入乙個病人的資訊,包括:乙個長度小於10的字串表示病人的id(每個病人的id各不相同且只含數字和字母),乙個整數表示病人的年齡,中間用單個空格隔開。
輸出按排好的看病順序輸出病人的id,每行乙個。
樣例輸入
5
021075 40
004003 15
010158 67
021033 75
102012 30
樣例輸出
021033
010158
021075
004003
102012
#include#includeusing namespace std;
struct patient
a[100],temp;
bool judge(patient p1, patient p2)
//其實用正常的結構體和if elseif也能解決這個問題,但一定要用穩定的排序演算法
int main()
for (int i = n-1; i >= 0; --i)
//注意不要用選擇排序,不穩定,值相同元素的相對位置會被打亂
}} for (int i = 0; i != n; ++i)
cout << a[i].id << endl;
system("pause");
}
C C 程式設計學習 第19周 病人排隊
題目鏈結 病人登記看病,編寫乙個程式,將登記的病人按照以下原則排出看病的先後順序 1.老年人 年齡 60 歲 比非老年人優先看病。2.老年人按年齡從大到小的順序看病,年齡相同的按登記的先後順序排序。3.非老年人按登記的先後順序看病。輸入格式 第 1 行,輸入乙個小於 100 的正整數,表示病人的個數...
資訊奧賽一本通 1183病人排隊
1183 病人排隊 題目描述 病人登記看病,編寫乙個程式,將登記的病人按照以下原則排出看病的先後順序 1.老年人 年齡 60歲 比非老年人優先看病。2.老年人按年齡從大到小的順序看病,年齡相同的按登記的先後順序排序。3.非老年人按登記的先後順序看病。輸入 第1行,輸入乙個小於100的正整數,表示病人...
資訊學奧賽一本通C 語言 1183 病人排隊
題目描述 病人登記看病,編寫乙個程式,將登記的病人按照以下原則排出看病的先後順序 1.老年人 年齡 60歲 比非老年人優先看病。2.老年人按年齡從大到小的順序看病,年齡相同的按登記的先後順序排序。3.非老年人按登記的先後順序看病。輸入 第1行,輸入乙個小於100的正整數,表示病人的個數 後面按照病人...