用C语言为了生活联系的方便,某班级需要建立一个同学通讯录。通讯录中包含:姓名、性别、出 生日期、手机号这几项。现需要根据通讯录统计2000年后(包括2000年)出生的男生人数, 请编程实现这个通讯并完成人数统计要求。
时间: 2024-03-02 07:53:28 浏览: 46
班级通讯录(c语言)
4星 · 用户满意度95%
好的,根据您的要求,我可以给您提供一个简单的C语言程序来实现您的需求。以下是代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_SIZE 100 // 最大通讯录存储数量
struct Student {
char name[20]; // 姓名
char sex[10]; // 性别
char birthday[20]; // 出生日期
char phone[20]; // 手机号
};
int main() {
struct Student list[MAX_SIZE]; // 定义通讯录数组
int count = 0; // 记录通讯录中的人数
int male_count = 0; // 记录2000年后出生的男生人数
// 循环添加通讯录信息
while (count < MAX_SIZE) {
struct Student s;
printf("请输入第%d个同学的姓名:", count+1);
scanf("%s", s.name);
if (strcmp(s.name, "exit") == 0) {
break; // 输入exit结束输入
}
printf("请输入性别:");
scanf("%s", s.sex);
printf("请输入出生日期(如:2001-01-01):");
scanf("%s", s.birthday);
printf("请输入手机号:");
scanf("%s", s.phone);
list[count] = s;
count++;
}
// 统计2000年后出生的男生人数
for (int i = 0; i < count; i++) {
if (strcmp(list[i].sex, "男") == 0 && strncmp(list[i].birthday, "2000", 4) >= 0) {
male_count++;
}
}
printf("通讯录中共有%d个人,其中2000年后出生的男生人数为%d人\n", count, male_count);
return 0;
}
```
这个程序中,我们使用了一个结构体 `Student` 来存储每一个同学的信息,包括姓名、性别、出生日期和手机号。我们定义了一个数组 `list` 来存储通讯录中的所有人的信息。程序通过循环读取用户的输入,将每个同学的信息存储在 `list` 数组中。在输入完毕后,程序遍历 `list` 数组,统计出2000年后出生的男生人数,并输出结果。
希望这个程序能够帮助到您,如果您有任何问题,请随时告诉我。
阅读全文