利用c语言的线性表写一个通讯录
时间: 2024-11-11 17:30:35 浏览: 5
线性表通信录【c语言实现】.pdf
5星 · 资源好评率100%
在C语言中,我们可以利用数组或者链表数据结构来创建一个简单的通讯录。这里我们先介绍如何使用一维数组模拟联系人的存储,因为数组提供了一个紧凑的数据结构。
```c
#include <stdio.h>
#define MAX_CONTACTS 50
// 定义一个人的结构体
typedef struct {
char name[50];
char phone_number[15];
} Contact;
// 创建通讯录
void createContactList(Contact contacts[], int size) {
for (int i = 0; i < size && i < MAX_CONTACTS; i++) {
printf("请输入第%d位联系人姓名: ", i + 1);
fgets(contacts[i].name, sizeof(contacts[i].name), stdin); // 防止换行符
printf("请输入联系电话: ");
fgets(contacts[i].phone_number, sizeof(contacts[i].phone_number), stdin);
// 清理换行符
contacts[i].name[strcspn(contacts[i].name, "\n")] = '\0';
contacts[i].phone_number[strcspn(contacts[i].phone_number, "\n")] = '\0';
}
}
// 打印通讯录
void displayContactList(const Contact contacts[], int size) {
for (int i = 0; i < size; i++) {
printf("%s - %s\n", contacts[i].name, contacts[i].phone_number);
}
}
int main() {
Contact contactList[MAX_CONTACTS];
int size;
printf("请输入通讯录中的联系人数: ");
scanf("%d", &size);
if (size <= MAX_CONTACTS) {
createContactList(contactList, size);
displayContactList(contactList, size);
} else {
printf("输入的人数过多,超出最大容量!\n");
}
return 0;
}
```
在这个示例中,我们首先定义了`Contact`结构体,包含姓名和电话号码两个字段。然后创建了`createContactList`函数用于输入联系人信息,`displayContactList`用于打印通讯录。在`main`函数中,用户可以输入通讯录大小,并读取和显示联系人信息。
阅读全文