C语言写代码为了生活联系的方便,某班级需要建立一个同学通讯录。通讯录中包含:姓名、性别、出生日期、手机号这几项。 现需要根据通讯录统计 2000 年后(包括 2000 年)出生你的男生人数,请编程实现这个通讯并完成人数统计要求。
时间: 2024-02-27 07:51:54 浏览: 115
好的,根据您的要求,我可以为您提供以下 C 语言代码:
```c
#include <stdio.h>
#include <string.h>
struct Student { // 学生结构体,包含姓名、性别、出生日期、手机号等信息
char name[20];
char gender[10];
char birthdate[20];
char phone[20];
};
int main() {
struct Student students[100]; // 假设最多存储 100 个学生信息
int n, count = 0; // n 表示学生人数,count 表示 2000 年后出生的男生人数
printf("请输入学生人数:");
scanf("%d", &n);
for (int i = 0; i < n; i++) {
printf("请输入第 %d 个学生的信息:\n", i + 1);
printf("姓名:");
scanf("%s", students[i].name);
printf("性别:");
scanf("%s", students[i].gender);
printf("出生日期:");
scanf("%s", students[i].birthdate);
printf("手机号:");
scanf("%s", students[i].phone);
}
for (int i = 0; i < n; i++) {
if (strstr(students[i].birthdate, "200") != NULL && strcmp(students[i].gender, "男") == 0) {
count++;
}
}
printf("2000 年后出生的男生人数为:%d\n", count);
return 0;
}
```
代码解释:
1. 定义了一个 `Student` 结构体,包含了姓名、性别、出生日期、手机号等信息。
2. 根据用户输入的人数,使用循环依次输入每个学生的信息。
3. 使用循环遍历每个学生的信息,判断其出生日期是否包含字符串 "200"(即出生日期是否在 2000 年及以后),并且判断其性别是否为男生。如果是,则将计数器 `count` 加 1。
4. 最后输出计数器 `count` 的值,即 2000 年后出生的男生人数。
希望这个程序能够解决您的问题!
阅读全文