資源簡介
輸入一組無序的人員信息(不超過100位),人員信息包括姓名(小寫字母拼音表示,不超過20個
字符)和身份證號(18位數(shù)字或大寫字母),編寫程序?qū)⑷藛T信息按照年齡由小到大排序輸出,若
年齡相同,則按照姓名字典序由小到大輸出。
代碼片段和文件信息
#include
#include
#include
typedef?struct?People{
????char?name[25];?//姓名
????char?ID[20];???//身份證號碼
????//生日
????int??year;
????int??month;
????int??day;
}People;
People?p[105];
void?get_birth(struct?People*?p)
{
????int?i=0;
????for(i=0;i<4;i++){
????????p->year=p->year*10+(p->ID[i+6]-0-48);
????}
????for(i=0;i<2;i++){
????????p->month=p->month*10+(p->ID[i+10]-0-48);
????????p->day=p->day*10+(p->ID[i+12]-0-48);
????}
}
int?cmp(const?void*?aconst?void*?b)
{??//年月日越大,年齡越小
????struct?People*?p1=(People*)a;
????struct?People*?p2=(People*)b;
評論
共有 條評論