習題9-5 通訊錄排序 (20分)
#include <stdio.h>
#include <string.h>
typedef struct people{
char name[100];
long bd;
char tel[100];
}p;//定義結構型別並重新命名
int main()
{
int n,i,j;
long temp;//臨時變數
char c[100];//臨時字元陣列
scanf("%d",&n);
p p1[n];//結構陣列
for(i=0;i<n;i++)
{
scanf("%s %ld %s",&p1[i].name,&p1[i].bd,&p1[i].tel);
}//輸入
for (i=0; i<n-1; i++) /* 外迴圈為排序趟數,len個數進行len-1趟 */
for (j=0; j<n-1-i; j++) { /* 內迴圈為每趟比較的次數,第i趟比較len-i次 */
if (p1[j].bd>p1[j+1].bd) { /* 相鄰元素比較,若逆序則交換(升序為左大於右,降序反之) */
temp = p1[j].bd;
p1[j].bd = p1[j+1].bd;
p1[j+1].bd = temp;//生日排序
strcpy(c,p1[j].name);
strcpy(p1[j].name,p1[j+1].name);
strcpy(p1[j+1].name,c);//名字跟著生日排序
strcpy(c,p1[j].tel);
strcpy(p1[j].tel,p1[j+1].tel);
strcpy(p1[j+1].tel,c);//電話跟著生日排序
}
}//氣泡排序
for(i=0;i<n;i++)
{
printf("%s %ld %s\n",p1[i].name,p1[i].bd,p1[i].tel);
}//輸出
return 0;
}
相關文章
- 通訊錄AdressDAO
- BusyContacts for Mac通訊錄管理Mac
- 移動端通訊錄
- 通訊錄管理系統
- angular4學習記錄 — 元件通訊、生命週期Angular元件
- 通訊錄觸控下拉demo
- C#通訊錄設計C#
- 手機通訊錄怎麼備份?手機通訊錄的幾種備份方法
- appium 點選微信通訊錄APP
- c++—通訊錄管理系統C++
- Cardhop for Mac(通訊錄管理軟體)Mac
- ROS話題通訊和服務通訊的區別ROS
- 【ROS教程】話題通訊ROS
- 小程式元件-仿微信通訊錄元件
- hhdb資料庫介紹(9-5)資料庫
- LeetCode通關:通過排序一次秒殺五道題,舒服!LeetCode排序
- Linux學習/TCP Socket通訊LinuxTCP
- BMS和AFE通訊問題
- 多程式通訊系列問題
- 如何解決聯邦學習中的通訊開銷問題?聯邦學習
- scrollIntoView()實現通訊錄功能-錨點定位View
- 怎麼實現通訊錄字母表
- 通訊錄的c語言程式編輯C語言
- 使用APICloud AVM框架封裝通訊錄元件APICloud框架封裝元件
- 通訊錄管理系統(C++實現)C++
- 用好學習排序 (LTR) ,資訊資訊流推薦效果翻倍排序
- vsc練習問題記錄
- 學習redis問題記錄Redis
- 開通個人學習隨筆記錄筆記
- 純前端匯出微信通訊錄到 Excel前端Excel
- CoreData:使用CoreData完成一個通訊錄儲存
- python 100題練習記錄(三)Python
- 【Flutter 專題】120 Flutter & 騰訊移動通訊 TPNS~Flutter
- 排序專題 -- (1)插入排序排序
- 【學習筆記】OpenMV與arduino通訊筆記UI
- Android程式間通訊(複習筆記)Android筆記
- 會vue,學習react元件父子通訊VueReact元件
- 5.React中元件通訊問題React元件