为了生活联系的方便,某班级需要建立一个同学通讯录。通讯录中包含;姓名、性别、出生日期、手机号这几项。现需要根据通讯录统计2000年后(包括2000年)出生的男生人数,请用c语言编程创建这 个通讯并完成符合条件的人数统计要求。
时间: 2024-03-06 07:51:18 浏览: 52
好的,我可以帮您编写一个简单的C程序来实现这个功能。具体实现如下:
```c
#include <stdio.h>
struct Student { // 定义学生结构体
char name[20]; // 姓名
char sex; // 性别
int birth_year; // 出生年份
char phone[12]; // 手机号
};
int main() {
struct Student students[100]; // 定义100个学生的结构体数组
int count = 0; // 记录出生在2000年及之后的男生人数
// 从控制台输入每个学生的信息
for (int i = 0; i < 100; i++) {
printf("请输入第%d个学生的信息:\n", i + 1);
printf("姓名:");
scanf("%s", students[i].name);
printf("性别:");
scanf(" %c", &students[i].sex);
printf("出生年份:");
scanf("%d", &students[i].birth_year);
printf("手机号:");
scanf("%s", students[i].phone);
}
// 统计出生在2000年及之后的男生人数
for (int i = 0; i < 100; i++) {
if (students[i].birth_year >= 2000 && students[i].sex == 'M') {
count++;
}
}
printf("出生在2000年及之后的男生人数为:%d\n", count);
return 0;
}
```
这个程序中,我们定义了一个`Student`结构体,包含姓名、性别、出生年份和手机号这四个属性。然后定义了一个`students`数组来存储100个学生的信息。我们通过`for`循环从控制台输入每个学生的信息,然后再通过另一个`for`循环统计出生在2000年及之后的男生人数。最后输出结果即可。
需要注意的是,这个程序假设输入的学生数不超过100个,如果需要处理更大的数据量,可以根据实际情况调整数组大小。
阅读全文