用c语言实现 8.通讯录排序。建立一个通信录,通讯录的结构记录包括:姓名、年龄、电话号码。编写程序,定义一个结构类型,输入4个联系人的信息,再按他们的年龄从大到小的顺序依次输出其信息。
时间: 2024-02-03 14:15:11 浏览: 23
下面是用C语言实现通讯录排序的程序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义联系人结构体
struct Contact {
char name[20];
int age;
char phone[12];
};
int main() {
int i, j;
// 定义四个联系人
struct Contact contacts[4] = {
{"Tom", 28, "12345678901"},
{"Jerry", 35, "23456789012"},
{"Lily", 22, "34567890123"},
{"Lucy", 30, "45678901234"}
};
// 冒泡排序,按年龄从大到小排序
for (i = 0; i < 4; i++) {
for (j = 0; j < 4 - i - 1; j++) {
if (contacts[j].age < contacts[j + 1].age) {
// 交换两个联系人的信息
struct Contact temp = contacts[j];
contacts[j] = contacts[j + 1];
contacts[j + 1] = temp;
}
}
}
// 输出排序后的联系人信息
for (i = 0; i < 4; i++) {
printf("Name: %s, Age: %d, Phone: %s\n", contacts[i].name, contacts[i].age, contacts[i].phone);
}
return 0;
}
```
这个程序中,我们首先定义了一个联系人结构体 `Contact`,包括姓名、年龄、电话号码三个字段。然后定义了四个联系人,并按照年龄从大到小的顺序进行了冒泡排序。最后输出排序后的联系人信息。