c语言如何实现按姓名查询
时间: 2024-01-09 09:04:15 浏览: 131
要实现按姓名查询,需要将姓名作为关键字,可以使用结构体数组来存储多个人的信息,每个结构体包含姓名和其他信息。然后使用循环和条件语句遍历数组,查找匹配的姓名,并输出相应的信息。
具体实现步骤如下:
1. 定义一个结构体,包含姓名和其他信息。
2. 定义一个结构体数组,存储多个人的信息。
3. 使用循环遍历数组,比较每个人的姓名是否与查询关键字相等。
4. 如果相等,则输出该人的信息。
5. 如果遍历完数组仍未找到匹配的姓名,则输出“未找到该人”。
以下是一个简单的示例代码:
```c
#include <stdio.h>
#include <string.h>
struct Person {
char name[20];
int age;
char address[100];
};
int main() {
struct Person people[3] = {
{"Tom", 20, "Beijing"},
{"Jerry", 22, "Shanghai"},
{"Alice", 18, "Guangzhou"}
};
char key[20];
printf("请输入要查询的姓名:");
scanf("%s", key);
int found = 0;
for (int i = 0; i < 3; i++) {
if (strcmp(people[i].name, key) == 0) {
printf("姓名:%s\n年龄:%d\n地址:%s\n", people[i].name, people[i].age, people[i].address);
found = 1;
break;
}
}
if (!found) {
printf("未找到该人\n");
}
return 0;
}
```
在上面的代码中,我们定义了一个名为Person的结构体,包含了姓名、年龄和地址等信息。然后定义一个结构体数组people,存储三个人的信息。接下来,通过循环遍历数组,使用strcmp函数比较每个人的姓名是否与关键字相等,如果相等则输出该人的信息。如果遍历完数组仍未找到匹配的姓名,则输出“未找到该人”。
阅读全文