用一維陣列儲存學號和成績,然後,按成績排序輸出。
輸入第一行包括乙個整數n(1<=n<=100),代表學生的個數。
接下來的n行每行包括兩個整數p和q,分別代表每個學生的學號和成績。
按照學生的成績從小到大進行排序,並將排序後的學生資訊列印出來。
如果學生的成績相同,則按照學號的大小進行從小到大排序。
水題,直接用sort排序即可,唯一需要注意的是compare函式的編寫,因為題目要求成績相同時,按照學號大小輸出。有關compare和sort函式的相關問題,在之前成績排序這篇部落格中有詳細介紹,這裡就不再說明。如果讀者不太明白,可以參考博主之前的文章。
#include
#include
using namespace std;
typedef
struct student
student;
bool compare
(const student& a,
const student& b)
else
}int
main
(void
)sort
(stu, stu+n, compare)
;for
(int i =
0; i < n;
++i)
delete [
] stu;
}return0;
}
清華大學考研複試機試 abc
設a b c均是0到9之間的數字,abc bcc是兩個三位數,且有 abc bcc 532。求滿足條件的所有a b c的值。題目沒有任何輸入。請輸出所有滿足題目條件的a b c的值。a b c之間用空格隔開。每個輸出佔一行。水題,直接遍歷暴力求解即可,三層for迴圈。不過也有一些優化的點,可能優化效...
清華大學考研複試機試 root N,k
n 2000000000 每組測試資料報括一行,x 0輸入可能有多組資料,對於每一組資料,root x y,k 的值 4 4 104這道題乍一看好像沒有什麼思路,那就先暴力求解試試。不過不管你用pow函式,還是用快速冪運算,都過不了,因為結果已經爆long long int。有關快速冪運算這裡簡單提...
清華大學考研複試機試 進製轉換2
將m進製的數x轉換為n進製的數輸出。輸入的第一行包括兩個整數 m和n 2 m,n 36 下面的一行輸入乙個數x,x是m進製的數,現在要求你將m進製的數x轉換成n進製的數輸出。輸出x的n進製表示的數。10 2 111011輸入時如有字母,則字母為大寫,輸出時如有字母,則字母為小寫。這道題其實和10進製...