HM067 一对一辅导册
HM067 一对一辅导册
来源: 第 67 集 结构体-结构体嵌套结构体
难度: 入门
时间限制: 1s
空间限制: 64MB
题目描述
结构体嵌套,就是在一个结构体里再放进另一个结构体。核心写法是:把已有的结构体类型当作本结构体的一个成员,用来描述实际关系。
一对一辅导就是这样的关系。教师是一种结构体,学生也是一种结构体。教师除了自己的职工编号、姓名、年龄,还要记住自己带的那名学生。学生则有自己的姓名、年龄和考试分数。
因此要先定义学生类型,再定义教师类型,并在教师里嵌套一个学生成员。如果先写教师、后写学生,编译器会认为学生类型还不完整,报「不允许使用不完整的类型」。必须让编译器先看到完整的学生定义。
访问要一层一层点下去:先点出教师身上的学生成员,再点出学生身上的字段,例如 teacher.stu.name、teacher.stu.age、teacher.stu.score。教师自己的字段仍是 teacher.id、teacher.name、teacher.age。使用字符串需要包含 <string>。
读入若干对「教师 + 其所辅导的学生」,按嵌套结构体存好,再按层输出全部信息。
输入格式
第一行一个整数 \(n\)(\(1 \le n \le 100\))。
接下来 \(n\) 行,每行六个字段:整数 \(id\)、不含空格的字符串 \(tName\)、整数 \(tAge\)、不含空格的字符串 \(sName\)、整数 \(sAge\)、整数 \(score\)。
编号是不超过 \(10^9\) 的正整数。姓名长度不超过 \(20\)。年龄在 \(1\) 到 \(120\) 之间。分数在 \(0\) 到 \(100\) 之间。
输出格式
每一对师生输出两行:
- 第一行:教师的编号、姓名、年龄,相邻之间一个空格;
- 第二行:学生的姓名、年龄、分数,相邻之间一个空格。
每行末尾换行。按读入顺序输出。
样例
输入 #1
1
10000 laowang 50 xiaowang 20 60
输出 #1
10000 laowang 50
xiaowang 20 60
输入 #2
2
1 amy 40 bob 18 95
2 cara 35 dan 19 70
输出 #2
1 amy 40
bob 18 95
2 cara 35
dan 19 70
说明
必须先定义学生结构体,再定义教师结构体,并在教师中嵌套一名学生。样例 1 对应职工编号 \(10000\)、教师 laowang \(50\) 岁,辅导学生 xiaowang \(20\) 岁、分数 \(60\)。输出学生信息时必须走 teacher.stu.xxx 这种双层点号,不能把学生当成与教师平级的另一个独立变量来交差。
信息
- ID
- 1066
- 难度
- (无)
- 分类
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 通过率
- ?
- 上传者