C语言定义一个学生结构体,学生信息包括学号、姓名、性别、年龄,输入2个学生的信息,输出性别为女的学生的信息。
时间: 2024-11-04 07:09:52 浏览: 258
在C语言中,我们可以定义一个结构体(struct)来表示学生的信息。首先,我们创建一个名为`student`的结构体,包含学号(id)、姓名(name)、性别(gender)和年龄(age)。然后,我们编写函数来接收用户输入,存储两个学生的数据,并筛选出性别为女的学生。以下是代码示例:
```c
#include <stdio.h>
#include <string.h>
// 定义学生结构体
typedef struct {
int id;
char name[50];
char gender[10];
int age;
} Student;
void input_student(Student* student) {
printf("请输入学生的详细信息:\n");
scanf("%d %s %s %d", &student->id, student->name, student->gender, &student->age);
}
void output_female_students(Student student1, Student student2) {
if (strcmp(student1.gender, "女") == 0 || strcmp(student2.gender, "女") == 0) {
printf("学号:%d,姓名:%s,性别:%s,年龄:%d\n",
student1.id, student1.name, student1.gender, student1.age);
if (strcmp(student2.gender, "女") == 0) {
printf("第二个学生信息:学号:%d,姓名:%s,性别:%s,年龄:%d\n",
student2.id, student2.name, student2.gender, student2.age);
}
}
}
int main() {
// 创建并初始化两个学生实例
Student student1, student2;
// 输入第一个学生的信息
input_student(&student1);
// 再次输入第二个学生的信息
input_student(&student2);
// 输出性别为女的学生信息
output_female_students(student1, student2);
return 0;
}
```
当你运行这个程序时,它会提示你分别输入两个学生的详细信息,然后只显示性别为女的学生信息。如果两个都是女生,那么会显示她们各自的全部信息。
阅读全文