習題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;
}
相關文章
- 【練習】製作簡易通訊錄
- Html5模擬通訊錄人員排序(sen.js)HTML排序JS
- 通訊錄AdressDAO
- 隱形通訊錄:全新iOS通訊錄應用概念設計iOS
- 簡單區分WiFi通訊和WLAN通訊WiFi
- 移動端通訊錄
- 通訊錄管理系統
- iOS - Contacts 通訊錄iOS
- angular4學習記錄 — 元件通訊、生命週期Angular元件
- C#通訊錄設計C#
- BusyContacts for Mac通訊錄管理Mac
- 利用SQL實現通訊錄SQL
- 通訊錄觸控下拉demo
- 訪問手機通訊錄
- 呼叫通訊錄實現思路
- 通訊錄查詢和新增
- SQL 分組排序取最新一條記錄SQL排序
- 手機通訊錄怎麼備份?手機通訊錄的幾種備份方法
- c++—通訊錄管理系統C++
- 小程式元件-仿微信通訊錄元件
- appium 點選微信通訊錄APP
- Cardhop for Mac(通訊錄管理軟體)Mac
- 簡單通訊錄的實現
- Vue元件通訊實踐記錄Vue元件
- 學術休假之通訊錄管理
- 公司郵箱通訊錄的更新
- ROS話題通訊和服務通訊的區別ROS
- 分頁查詢的排序問題排序
- CSP之通訊網路(60分\100分)
- 「分數規劃」學習筆記及做題記錄筆記
- 【ROS教程】話題通訊ROS
- 樂視超級手機如何匯入通訊錄 樂視超級手機匯入通訊錄教程
- 【SQL 學習】排序問題之order by與索引排序SQL排序索引
- 沉寂的通訊錄 | 閨蜜是什麼?
- js通訊錄效果,你見過麼JS
- 分頁查詢的排序問題(二)排序
- 7-7 冒泡法排序 (20分)排序
- BMS和AFE通訊問題