编写C语言程序,输入n(n<10),再输入n个学生的通讯录,然后输入一个学生的姓名,输出该学生的电话号码,若查找失败则输出:无。 【注意】 1.需要合理使用以下结构体 enum SEX{ GIRL, BOY };
时间: 2024-05-29 18:12:56 浏览: 179
很高兴为您解答问题!这是一道很经典的 C 语言程序题。
下面是代码实现:
#include <stdio.h>
#include <string.h>
enum SEX {GIRL, BOY}; // 枚举类型,表示性别
struct STUDENT // 学生结构体
{
char name[20]; // 姓名最多 19 个字符
enum SEX sex; // 性别
char phone[12]; // 电话号码最多 11 个字符
};
int main()
{
int n;
printf("请输入学生人数:");
scanf("%d", &n);
struct STUDENT students[n];
// 输入学生信息
for(int i = 0; i < n; i++)
{
printf("请输入第 %d 个学生的姓名、性别(0表示女,1表示男)、电话号码:", i+1);
scanf("%s %d %s", students[i].name, &students[i].sex, students[i].phone);
}
// 查找学生信息
char search_name[20];
printf("请输入要查找的学生姓名:");
scanf("%s", search_name);
int flag = 0; // 查找标识符
for(int i = 0; i < n; i++)
{
if(strcmp(students[i].name, search_name) == 0)
{
printf("%s 的电话号码是 %s\n", students[i].name, students[i].phone);
flag = 1;
break;
}
}
if(flag == 0)
printf("无\n");
return 0;
}
希望能对你有帮助。
阅读全文