日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

最小年龄的3个职工

發(fā)布時間:2025/4/16 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 最小年龄的3个职工 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題目截圖:

?

思路:

  關(guān)鍵字順序:年齡>工號>姓名,從小到大自定義 cmp?函數(shù),然后使用內(nèi)置的 qsort?函數(shù)即可。qsort?的用法詳見另一篇博客。

?

代碼如下:

1 /* 2 最小年齡的3個職工 3 */ 4 5 #include <stdio.h> 6 #include <string.h> 7 #include <math.h> 8 #include <stdlib.h> 9 #include <time.h> 10 #include <stdbool.h> 11 12 // 員工結(jié)構(gòu)體定義 13 typedef struct { 14 int id; // 職工號 15 char name[11]; // 姓名 16 int age; // 年齡 17 } staff; 18 staff staffs[31]; // 存儲所有員工數(shù)據(jù) 19 20 // 自定義排序 21 // 關(guān)鍵字順序:年齡>工號>姓名,從小到大。 22 int cmp(const void* a, const void* b) { 23 staff* c = (staff*)a; 24 staff* d = (staff*)b; 25 if(c->age == d->age) { 26 if(c->id == d->id) { 27 return strcmp(c->name, d->name); 28 } else { 29 return c->id - d->id; 30 } 31 } else { 32 return c->age - d->age; 33 } 34 } 35 36 int main() { 37 int n, i; 38 while(scanf("%d", &n) != EOF) { 39 for(i=0; i<n; ++i) { // 輸入員工信息 40 staff s; 41 scanf("%d %s %d", &s.id, s.name, &s.age); 42 staffs[i] = s; 43 } 44 // 按要求排序 45 qsort(staffs, n, sizeof(staffs[0]), cmp); 46 // 輸出結(jié)果行數(shù)為N和3的較小值 47 int min = (n<3 ? n : 3); 48 for(i=0; i<min; ++i) { // 按要求輸出 49 staff s = staffs[i]; 50 printf("%d %s %d\n", s.id, s.name, s.age); 51 } 52 } 53 54 return 0; 55 }

?

轉(zhuǎn)載于:https://www.cnblogs.com/coderJiebao/p/HustTest16.html

總結(jié)

以上是生活随笔為你收集整理的最小年龄的3个职工的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。