用c语言编写定义嵌套结构体Student然后从终端上输入以下五个学生的学号姓名和出生日期并输出
时间: 2024-12-28 16:34:40 浏览: 1
在C语言中,可以创建一个嵌套结构体来表示学生信息,包括学号、姓名和出生日期。首先,我们需要定义一个结构体`Student`,接着定义包含`Student`的另一个结构体`PersonalInfo`,最后编写主函数来接受用户输入并打印。
```c
#include <stdio.h>
#include <string.h> // 需要用到字符串库
// 定义嵌套结构体
typedef struct PersonalInfo {
char name[50]; // 姓名
char birthDate[20]; // 出生日期,假设格式如"YYYY-MM-DD"
} PersonalInfo;
typedef struct Student {
int studentID; // 学号
PersonalInfo info; // 包含姓名和出生日期的信息
} Student;
void inputStudent(Student *student) {
printf("请输入学生信息(学号、姓名、出生日期):\n");
scanf("%d %s %s", &student->studentID, student->info.name, student->info.birthDate);
}
void printStudent(Student student) {
printf("学生信息:\n");
printf("学号: %d\n", student.studentID);
printf("姓名: %s\n", student.info.name);
printf("出生日期: %s\n", student.info.birthDate);
}
int main() {
Student students[5]; // 创建一个包含5个学生信息的数组
// 为每个学生输入信息
for (int i = 0; i < 5; i++) {
inputStudent(&students[i]);
}
// 打印所有学生的信息
for (int i = 0; i < 5; i++) {
printStudent(students[i]);
printf("\n-------------------------\n"); // 每个学生信息间添加分隔线
}
return 0;
}
```
在这个程序中,`inputStudent`函数用于获取用户输入,`printStudent`函数用于展示学生信息。在`main`函数中,我们创建了一个大小为5的`Student`数组,循环遍历输入和打印每个学生的数据。
阅读全文