用C语言为了生活联系的方便,某班级需要建立一个同学通讯录。通讯录中包含:姓名、性别、出 生日期、手机号这几项。现需要根据通讯录统计2000年后(包括2000年)出生的男生人数, 请编程实现这个通讯并完成人数统计要求。
时间: 2024-03-03 19:47:15 浏览: 71
好的,这是一个简单的C语言程序,用于建立同学通讯录并统计2000年后出生的男生人数。代码如下:
```c
#include <stdio.h>
// 定义学生结构体
struct student {
char name[20];
char gender;
int birth_year;
int birth_month;
int birth_day;
char phone[11];
};
// 定义函数,统计2000年后出生的男生人数
int count_male_students(struct student *classmates, int n) {
int count = 0;
for (int i = 0; i < n; i++) {
if (classmates[i].gender == 'M' && classmates[i].birth_year >= 2000) {
count++;
}
}
return count;
}
int main() {
int n;
// 读入同学数量
printf("请输入同学数量:");
scanf("%d", &n);
// 定义同学数组
struct student classmates[n];
// 读入每个同学的信息
for (int i = 0; i < n; i++) {
printf("请输入第%d个同学的信息(姓名 性别 出生日期(yyyy/mm/dd) 手机号):", i + 1);
scanf("%s %c %d/%d/%d %s", classmates[i].name, &classmates[i].gender, &classmates[i].birth_year, &classmates[i].birth_month, &classmates[i].birth_day, classmates[i].phone);
}
// 统计2000年后出生的男生人数
int count = count_male_students(classmates, n);
printf("2000年后出生的男生人数为:%d\n", count);
return 0;
}
```
程序首先定义了一个结构体`student`,用于存储每个同学的信息。然后定义了一个`count_male_students`函数,用于统计2000年后出生的男生人数。这个函数的参数是一个指向`student`数组的指针和数组的大小,返回值是统计的人数。
在主函数中,程序首先读入同学的数量`n`,然后定义一个大小为`n`的`student`数组`classmates`,并读入每个同学的信息。最后调用`count_male_students`函数统计符合要求的同学数量并输出结果。
注意,这个程序假设所有的输入都是合法的,实际情况中可能需要加入一些输入验证和错误处理的代码。
阅读全文