生活随笔
收集整理的這篇文章主要介紹了
C语言 通讯录排序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
任務描述
輸入n個朋友的信息,包括姓名、生日、電話號碼,本題要求編寫程序,按照年齡從大到小的順序依次輸出通訊錄。題目保證所有人的生日均不相同。
功能要求
①輸入格式:
輸入第一行給出正整數n(<<10)。隨后n行,每行按照“姓名 生日 電話號碼”的格式給出一位朋友的信息,其中“姓名”是長度不超過10的英文字母組成的字符串,“生日”是yyyymmdd格式的日期,“電話號碼”是不超過17位的數字及+、-組成的字符串。
②輸出格式:
按照年齡從大到小輸出朋友的信息,格式同輸出。
③輸入樣例:
3
zhang 19850403 13912345678
wang 19821020 +86-0571-88018448
qian 19840619 13609876543
④輸出樣例:
wang 19821020 +86-0571-88018448
qian 19840619 13609876543
zhang 19850403 13912345678
#include<stdio.h>
#include<stdlib.h>
typedef struct {
char name[
10];
long int birth;
char phone[
17];
}pInfo;
int pInfoSort(pInfo *data,
int n)
{
int i, j;pInfo temp;
for (i =
0; i < n; i++) {
for (j = i +
1; j < n; j++) {
if (data[i].birth > data[j].birth) {temp = data[i];data[i] = data[j];data[j] = temp;}}}
for (i =
0; i < n; i++) {
printf(
"%s ", data[i].name);
printf(
"%ld ", data[i].birth);
printf(
"%s\n", data[i].phone);}
return 0;
}
int main()
{pInfo *data;
int n, i;
scanf(
"%d", &n);data = (pInfo*)
malloc(
sizeof(pInfo) * n);
for (i =
0; i < n; i++) {
scanf(
"%s", data[i].name);
scanf(
"%ld", &data[i].birth);
scanf(
"%s", data[i].phone); }pInfoSort(data, n);system(
"pause");
return 0;
}
總結
以上是生活随笔為你收集整理的C语言 通讯录排序的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。