題目描述:
職工有職工號,姓名,年齡.輸入n個職工的資訊,找出3個年齡最小的職工列印出來。
輸入描述:
輸入第一行包括1個整數n,1<=n<=30,代表輸入資料的個數。
接下來的n行有n個職工的資訊:
包括職工號(整數), 姓名(字串,長度不超過10), 年齡(1<=age<=100)
輸出描述:
可能有多組測試資料,對於每組資料,
輸出結果行數為n和3的較小值,分別為年齡最小的職工的資訊。
關鍵字順序:年齡》工號》姓名,從小到大
個人思路分析:
定義乙個職工結構體變數;
利用模板定義乙個儲存職工資訊的順序表;
輸入之後;對輸入資訊進行條件排序(利用c++庫函式演算法中的void sort(randomaccessiterator first,randomaccessiterator last,compare comp);)comp接受的是乙個接受範圍中的兩個元素作為引數的二進位制函式,並返回可轉換為的值bool。返回的值指示作為第乙個引數傳遞的元素是否被視為在第二個定義的特定嚴格弱排序之前。
因此我們只需定義乙個這樣的comp函式,便可以實現按照關鍵字順序進行排序。
下面是**實現:
#include
#include
#include
#include
using
namespace
std;
typedef
struct worker //職工結構體
worker;
static
bool cmp(worker a, worker b)
else
if (a.age == b.age)
else
if (a.number == b.number)}}
return
false;
}int main()
sort(vet.begin(), vet.end(), cmp);
for (int i = 0; i < 3; i++)
}}
最小年齡的三個職工
職工有職工號,姓名,年齡.輸入n個職工的資訊,找出3個年齡最小的職工列印出來。輸入描述 輸入第一行包括1個整數n,1 n 30,代表輸入資料的個數。接下來的n行有n個職工的資訊 包括職工號 整數 姓名 字串,長度不超過10 年齡 1 age 100 輸出描述 可能有多組測試資料,對於每組資料,輸出結...
華科機考 最小年齡的3個職工
時間限制 1秒 空間限制 32768k 題目描述 職工有職工號,姓名,年齡.輸入n個職工的資訊,找出3個年齡最小的職工列印出來。輸入描述 輸入第一行包括1個整數n,1 n 30,代表輸入資料的個數。接下來的n行有n個職工的資訊 包括職工號 整數 姓名 字串,長度不超過10 年齡 1 age 100 ...
誰的年齡最小(結構體專題)
題目描述 設計乙個結構體型別,包含姓名 出生日期。其 生日期又包含年 月 日三部分資訊。輸入n個好友的資訊,輸出年齡最小的好友的姓名和出生日期。輸入首先輸入乙個整數n 1 n 10 表示好友人數,然後輸入n行,每行包含乙個好友的資訊 姓名 不超過20位 以及三個整數,分別表示出生日期的年月日。輸出輸...