用c语言实现:创建一个包含3个元素{(王一,18986112501),(王二,18986112502),(王三,18986112503)}通讯录顺序表,并输出该顺序表中各个元素。
时间: 2024-10-13 17:16:01 浏览: 30
在C语言中,你可以使用结构体来表示联系人信息,并通过数组或链表的形式存储通讯录。这里我们以数组为例,创建一个动态数组来实现这个通讯录:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义联系人结构体
typedef struct {
char name[20];
int phone;
} Contact;
// 动态分配内存并初始化联系人列表
Contact* createPhoneBook(int size) {
Contact* phoneBook = (Contact*)malloc(size * sizeof(Contact));
if (!phoneBook) {
printf("Memory allocation failed.\n");
return NULL;
}
// 初始化3个联系人
for (int i = 0; i < 3; i++) {
strcpy(phoneBook[i].name, "王" + i); // 注意字符串连接要用加号操作符,避免溢出
phoneBook[i].phone = 18986112501 + i; // 模拟电话号码递增
}
return phoneBook;
}
// 输出联系人信息
void displayPhoneBook(Contact* phoneBook, int size) {
for (int i = 0; i < size; i++) {
printf("姓名:%s, 电话:%d\n", phoneBook[i].name, phoneBook[i].phone);
}
}
int main() {
int size = 3;
Contact* phoneBook = createPhoneBook(size);
if (phoneBook) {
displayPhoneBook(phoneBook, size);
free(phoneBook); // 释放内存
}
return 0;
}
```
在这个程序中,`createPhoneBook`函数用于动态创建一个包含3个联系人的通讯簿,然后`displayPhoneBook`函数会遍历并打印每个联系人的信息。
阅读全文