c
#include <stdio.h>
#include <string.h>
// 定义电话号码结构体
struct PhoneBook {
char name[20]; // 姓名
char phoneNumber[20]; // 电话号码
};
// 定义电话本数组和大小
struct PhoneBook phoneBook[100]; // 假设最多存储 100 个联系人信息

int phoneBookSize = 0; // 当前电话本大小
// 添加联系人信息到电话本中
void addContact() {
struct PhoneBook newContact;
printf("请输入联系人姓名:");
scanf("%s", newContact.name); // 输入姓名
printf("请输入电话号码:");
scanf("%s", newContact.phoneNumber); // 输入电话号码
phoneBook[phoneBookSize++] = newContact; // 将联系人信息添加到电话本数组中,并更新电话本大小
// 根据姓名查找电话号码

void findPhoneNumber() {
char name[20]; // 存储输入的姓名信息
printf("请输入要查询的联系人姓名:"); // 提示输入姓名信息
scanf("%s", name); // 获取输入的姓名信息
int i; // 循环计数器变量
for (i = 0; i < phoneBookSize; i++) { // 遍历电话本数组查找联系人信息
if (strcmp(name, phoneBook[i].name) == 0) { // 如果找到联系人信息,输出电话号码并退出循环
printf("电话号码为:%sn", phoneBook[i].phoneNumber);
return; // 结束函数执行并返回结果给调用者函数使用,此处使用 return 可以避免程序继续执行后续代码,如果不需要立即结束函数执行,可以使用 break 语句跳出循环,此处使用 return 是为了演示目的,实际应用中需要根据具体需求选择使用哪种方式,如果找不到联系人信息,则输出提示信息即可,此处省略了代码实现,需要注意的是,在实现过程中需要注意输入数据的合法性以及程序的健壮性等问题,还需要考虑程序的界面设计以及用户体验等方面的问题,因此在实际开发中需要根据具体需求进行综合考虑和设计,同时还需要注意代码的可读性和可维护性等问题,因此在实际开发中需要遵循良好的编程规范和习惯,以确保代码的质量和可维护性,同时还需要不断学习和掌握新的技术和工具来提高开发效率和代码质量,同时还需要注意代码的安全性和可靠性等问题,以确保程序的稳定性和安全性,因此在实际开发中需要充分考虑各种因素并进行全面的测试和验证,同时还需要不断学习和积累经验以提高自己的开发能力和水平。





