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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1741: 通讯录编排

發布時間:2023/12/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1741: 通讯录编排 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

描述

ACM集訓隊最近人氣很旺,為了促進隊員之間的交流,我們準備制作一個通訊錄,每個隊友的信息包括: tzojid 電話 籍貫 出生年-月-日 各個字段均用英文字符和數字表示。使用空格分隔各個字段,每個字段不包含空格,如:crq的信息為: crq 660000 huangyan 1979-1-1 等到所有隊員的資料收集完畢,我們想要編排通訊錄以便于隊員的查詢,編排方式如下: 首先根據地名作為第一關鍵字進行字典序排序,由于每年老鄉之間都要為隊友慶祝生日,因此將生日作為第二關鍵字進行遞增排序。也許你在老鄉之間能夠找到一個非常有緣的隊友即你們的生日是同一天,那么就根據tzojid作為第三關鍵字進行字典序排序,由于tzojid是唯一的,因此總能排序。我們確信今后將有大量的新隊友加入,因此為了能一勞永逸,請你幫我們編程完成這個任務。

輸入

輸入數據有n+1行,第一行為集訓隊隊員的總數n (n<=100),下面的n行為每個隊員的信息,格式見樣例。

輸出

輸出編排后的結果。

樣例輸入

5 crq 660000 huangyan 1979-1-1 carter 660000 huangyan 1979-1-1 tzc 668888 linhai 1990-1-11 wk 666666 ningbo 1986-10-1 metoo 665567 jiaojiang 1969-1-13

樣例輸出

carter 660000 huangyan 1979-1-1 crq 660000 huangyan 1979-1-1 metoo 665567 jiaojiang 1969-1-13 tzc 668888 linhai 1990-1-11 wk 666666 ningbo 1986-10-1

按照題目的描述,可以把我們需要的功能分成幾個部分。

  • 結構體{char[], int, char[], int, int, int}
    (雖然不用結構體也行,但這道題畢竟是出在結構體專欄里的)
  • 比較字符串的函數
  • 結構體值互換
  • 比較生日
  • 比較麻煩的可能是這個比較字符串的值(因為我們通常比較的是字符的,字符串怎么比啊)
    另外結構體里的數組要定義大小,不然會報錯。

    題目里提到的字典序排序:

    字典排序(lexicographical order)是一種對于隨機變量形成序列的排序方法。其方法是,按照字母順序,或者數字小大順序,由小到大的形成序列。

    對于數字,按大小排序
    對于字符串,就是先比較第一個字符,再比較第二個…如果一樣就看長度,短的放前面。

    剩下的就看代碼吧

    #include<stdio.h>// 比較兩個字符串,左邊小返回0,右邊小返回1 int strcmp(char *p1, char *p2) {int i = 0;while (p1[i] != '\0') {if (p2[i] == '\0')return 1;if (p1[i] < p2[i])return 0;if (p2[i] < p1[i])return 1;i++;}if (p2[i] == '\0')return 2;return 0; }int main() {struct tzojInfo {char id[50];int tel;char pos[50];int birthY;int birthM;int birthD;};int n, i, j, flag;scanf("%d\n", &n);struct tzojInfo a[n];struct tzojInfo temp;// 輸入for (i = 0; i < n; i++) {scanf("%s %d %s %d-%d-%d", a[i].id, &a[i].tel, a[i].pos, &a[i].birthY, &a[i].birthM, &a[i].birthD);}// 排序(選擇)for (i = 0; i < n - 1; i++) {for (j = i + 1; j < n; j++) {flag = 0;//比較地名if (strcmp(a[i].pos, a[j].pos) == 1) {flag = 1;} else // 比較生日if (strcmp(a[i].pos, a[j].pos) == 2) {if (a[j].birthM < a[i].birthM || (a[j].birthM == a[i].birthM && a[j].birthD < a[i].birthD)) {flag = 1;} // 比較idif (a[j].birthM == a[i].birthM && a[j].birthD == a[i].birthD && (strcmp(a[i].id, a[j].id))) {flag = 1;}}if (flag) {temp = a[j];a[j] = a[i];a[i] = temp;}}}for (i = 0; i < n; i++) {printf("%s %d %s %d-%d-%d\n", a[i].id, a[i].tel, a[i].pos, a[i].birthY, a[i].birthM, a[i].birthD);} }

    里面這個一大堆if以前可以只寫成一行,不過為了提高閱讀性
    就寫成這樣子了。

    總結

    以上是生活随笔為你收集整理的1741: 通讯录编排的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 少妇高潮久久久久久潘金莲 | 欧美日性视频 | 久久国产视频一区 | 精品国产99久久久久久宅男i | 国产成人日韩 | 看污网站 | 成人黄色国产 | 国产无遮挡又黄又爽又色视频 | 欧美另类videosbestsex日本 | 成人三级在线播放 | 色婷婷av一区二区三区麻豆综合 | 免看一级a毛片一片成人不卡 | 人妻熟女一区二区三区 | 少妇无内裤下蹲露大唇视频 | 国产永久精品大片wwwapp | 国产精品黄色av | 精品一区二区视频在线观看 | 午夜电影网站 | 国产黄视频在线观看 | 国产精品视频网站 | 91视频在线网站 | av青青草| 欧美jjzz| 日本人极品人妖高潮 | 久久久久久无码精品人妻一区二区 | 日韩黄色成人 | 国产精品黑人一区二区三区 | 欧美日韩一区二区三区不卡视频 | av高清在线观看 | 蜜桃av在线 | 99在线无码精品入口 | 日韩二区三区 | 天天伊人网 | 手机在线永久免费观看av片 | 欧美日韩18| 成人av免费在线播放 | 自拍21区| 91精品国产99久久久久久红楼 | www黄色网| 懂色aⅴ国产一区二区三区 亚洲欧美国产另类 | 日韩高清一级片 | 亚洲成人第一网站 | 高潮一区二区三区 | 日日夜夜操av | 奇米影视第四色7777 | 爱情岛论坛亚洲自拍 | 免费在线毛片 | 综合色影院 | 免费看日韩 | 你操综合| 少妇超碰 | 中文字幕免费在线视频 | 五月婷婷综合网 | 欧美女优视频 | 国产叼嘿视频在线观看 | 美女穴穴| 国产一区免费视频 | 波多野结衣一本一道 | 精品无码久久久久久久久久 | 视频国产一区 | 国产成人精品视频 | 欧美成人一区二区三区片免费 | 久久久青| 国产伦精品一区二区三区免费 | 人人爱人人插 | 91麻豆成人精品国产免费网站 | 日日夜夜爱爱 | 午夜之声l性8电台lx8电台 | 中文字幕一区二区三区四区欧美 | 蜜桃综合网 | 啪啪自拍视频 | 日韩视频在线观看一区二区三区 | 麻豆一区二区三区在线观看 | 欧美性色视频 | 成人国产三级 | 东京热av一区 | www.好吊色 | 久久亚洲影视 | 日本理论片| 被两个男人吃奶三p爽文 | 超碰xxx| 狠狠干av| 欧美精品久久久久性色 | 欧美性生活网 | 欧美国产在线一区 | 娇妻av| 男人久久 | 国产免费一区二区三区视频 | 黄网在线播放 | 天堂久久爱 | 色播99 | 国产理论一区 | 麻豆精品91 | 91在线观看成人 | 综合网久久 | av伦理在线| 国产精品毛片一区 | 成人免费视频毛片 | 黄色男同视频 |