为了生活联系的方便,某班级需要建立一个同学通讯录。通讯录中包含:姓名、性别、出生日期、 手机号这几项。现需要根据通讯录统计 2000 年后(包括 2000 年)出生的男生人数,请用c语言编程创建这 个通讯并完成符合条件的人数统计要求。
时间: 2024-03-25 15:36:43 浏览: 57
班级通讯录(c语言)
4星 · 用户满意度95%
好的,下面是实现该功能的C语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* 定义学生结构体 */
struct student {
char name[20];
char sex[5];
char birth[20];
char phone[20];
};
/* 统计2000年后出生的男生人数 */
int count(struct student* s, int num) {
int i, cnt = 0;
for (i = 0; i < num; i++) {
if (strncmp(s[i].birth, "2000", 4) >= 0 && strcmp(s[i].sex, "男") == 0) {
cnt++;
}
}
return cnt;
}
int main() {
int num, i, cnt;
printf("请输入学生人数:");
scanf("%d", &num);
struct student* s = (struct student*)malloc(num * sizeof(struct student));
for (i = 0; i < num; i++) {
printf("请输入第%d个学生的信息:\n", i + 1);
printf("姓名:");
scanf("%s", s[i].name);
printf("性别:");
scanf("%s", s[i].sex);
printf("出生日期:");
scanf("%s", s[i].birth);
printf("手机号:");
scanf("%s", s[i].phone);
}
cnt = count(s, num);
printf("2000年后出生的男生人数为:%d\n", cnt);
free(s); // 释放内存
return 0;
}
```
实现思路:
1. 定义学生结构体,包含姓名、性别、出生日期和手机号等属性。
2. 编写count函数,遍历学生数组,统计2000年后出生的男生人数。
3. 在主函数中,根据输入的学生人数,动态分配内存,读入每个学生的信息,并调用count函数进行统计。
4. 最后输出符合条件的人数,并释放动态分配的内存。
阅读全文