为了生活联系的方便,某班级需要建立一个同学通讯录。通讯录中包含:姓名、性别、出生日期、 手机号这几项。现需要根据通讯录统计 2000 年后(包括 2000 年)出生你的男生人数,请编程实现 这个通讯并完成人数统计要求用c语言
时间: 2024-02-20 21:00:46 浏览: 106
好的,以下是一份使用 C 语言实现的代码,可以实现通讯录的输入和统计:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义一个学生结构体
typedef struct {
char name[20]; // 姓名
char gender; // 性别
int birth_year; // 出生年份
char phone[15]; // 手机号
} Student;
int main() {
int n; // 学生数量
printf("请输入学生数量:");
scanf("%d", &n);
// 动态分配学生数组内存
Student *students = (Student*) malloc(sizeof(Student) * n);
// 输入每个学生的信息
for (int i = 0; i < n; i++) {
printf("请输入第%d个学生的信息(姓名 性别 出生年份 手机号):", i + 1);
scanf("%s %c %d %s", students[i].name, &students[i].gender, &students[i].birth_year, students[i].phone);
}
// 统计出生于 2000 年及以后的男生人数
int count = 0;
for (int i = 0; i < n; i++) {
if (students[i].gender == 'M' && students[i].birth_year >= 2000) {
count++;
}
}
printf("出生于 2000 年及以后的男生人数为:%d\n", count);
// 释放内存
free(students);
return 0;
}
```
注意,这份代码中假设每个学生的姓名不超过 20 个字符,手机号不超过 15 个字符。在实际应用中,可能需要根据实际情况进行修改。同时,如果通讯录中包含更多的信息,需要根据实际情况进行扩展。
阅读全文