C语言 只知道名字不知道姓氏 如何查找人
时间: 2023-05-19 19:01:37 浏览: 182
在C语言中,可以使用结构体来存储人的信息,包括名字和姓氏。可以定义一个结构体类型,然后创建一个结构体变量来存储人的信息。例如:
```
struct Person {
char firstName[20];
char lastName[20];
};
struct Person people[100]; // 定义一个包含100个人的数组
// 查找名字为"John"的人的姓氏
for (int i = 0; i < 100; i++) {
if (strcmp(people[i].firstName, "John") == 0) {
printf("The last name of John is %s\n", people[i].lastName);
break;
}
}
```
这里使用了strcmp函数来比较字符串是否相等。如果找到了名字为"John"的人,就输出他的姓氏。如果没有找到,就不输出任何东西。
相关问题
利用c语言数据结构,写一个通讯录管理系统,联系人信息包括姓名、性别、电话、邮箱,功能包括新建联系人,删除联系人,模糊查找联系人,修改联系人信息,按性别分组查看联系人,按姓氏分组查看联系人,按姓名排序查看联系人,按电话号码排序查看联系人,按邮箱排序查看联系人,打印通讯录,退出通讯录并将通讯录信息存储到文件中,下次运行程序时将文件内容加载到程序里
好的,我会解答你的问题,但是这个问题需要我进行编码和实现,而且需要使用到较多的代码,不太适合在这里直接回答。不过我可以给你提供一些思路和建议:
1. 使用结构体来存储联系人信息,如下所示:
```c
typedef struct {
char name[50];
char gender[10];
char phone[20];
char email[50];
} Contact;
```
2. 可以使用链表来存储联系人信息,每个节点存储一个联系人,可以使用指针来连接不同的节点。
3. 实现具体的功能时,可以先实现一些基本的操作,例如添加联系人、删除联系人、修改联系人信息等。
4. 对于模糊查找联系人,可以使用字符串匹配算法,例如KMP算法、Boyer-Moore算法等。
5. 对于分组查看联系人、排序查看联系人,可以使用快速排序、归并排序等算法。
6. 完成通讯录管理后,可以使用文件操作来将通讯录信息存储到文件中,下次运行程序时再将文件内容加载到程序里。
希望这些思路和建议能够帮助你完成通讯录管理系统的编写。
阅读全文