HM070 三师十五徒

HM070 三师十五徒

HM070 三师十五徒

来源: 第 70 集 结构体-结构体案例1

难度: 入门

时间限制: 1s

空间限制: 64MB

题目描述

学校做必修项目:每名教师带恰好 \(5\) 名学生。教师结构体里除了自己的姓名,还要嵌套一个长度为 \(5\) 的学生数组。学生结构体只有姓名和考试分数。

必须先定义学生类型,再定义教师类型。若教师里先写学生数组、学生类型却还没出现,编译器会报「不允许使用不完整的类型」。

需要两步函数:

  1. 赋值函数 allocateSpace:接收教师数组和长度。不要把教师人数写死在函数里,长度由调用方传入。教师姓名生成为 Teacher_ 再追加字母表 ABCDE 中第 \(i\) 个字母;该教师的 \(5\) 名学生姓名生成为 Student_ 再追加 ABCDE 中第 \(j\) 个字母(\(j=0\ldots4\))。
  2. 打印函数 printInfo:同样传入教师数组和长度。先输出教师姓名;再输出其 \(5\) 名学生,每名学生一行,行首一个水平制表符 \t,然后是学生姓名、一个空格、分数。

分数不能使用未固定种子的随机数。本题读入 \(n\times 5\) 个原始整数 \(r\),按下面公式换算:

\[
score = r \bmod 61 + 40
\]

这样分数落在 \([40,100]\)。若模数写成 \(60\),只能得到 \([40,99]\);若把 \(+40\) 改成 \(+41\),最低分也会被抬高,这两种都不对。

读入教师人数和全部原始整数,调用赋值函数再调用打印函数,输出全部教师与学生信息。

输入格式

第一行一个整数 \(n\)(\(1 \le n \le 5\)),表示教师人数。

第二行 \(n\times 5\) 个非负整数 \(r\)(\(0 \le r \le 10^9\)),按「第 \(0\) 位教师的 \(5\) 名学生、第 \(1\) 位教师的 \(5\) 名学生、……」的顺序给出。

输出格式

对每位教师:

  • 一行:教师姓名。
  • 接下来 \(5\) 行:每行以一个制表符开头,然后是学生姓名、一个空格、分数。

行末换行。

样例

输入 #1

3
0 20 60 61 1 2 3 4 5 6 7 8 9 10 11

输出 #1

Teacher_A
    Student_A 40
    Student_B 60
    Student_C 100
    Student_D 40
    Student_E 41
Teacher_B
    Student_A 42
    Student_B 43
    Student_C 44
    Student_D 45
    Student_E 46
Teacher_C
    Student_A 47
    Student_B 48
    Student_C 49
    Student_D 50
    Student_E 51

输入 #2

1
60 0 120 61 59

输出 #2

Teacher_A
    Student_A 100
    Student_B 40
    Student_C 99
    Student_D 40
    Student_E 99

说明

样例 1 有 \(3\) 名教师、\(15\) 名学生。\(0 \bmod 61 + 40 = 40\),\(20 \bmod 61 + 40 = 60\),\(60 \bmod 61 + 40 = 100\),\(61 \bmod 61 + 40 = 40\)。必须用结构体嵌套数组存储,并用两个函数分别赋值和打印。学生信息行的行首是制表符,不是空格。

信息

ID
1069
难度
(无)
分类
(无)
标签
(无)
递交数
0
已通过
0
通过率
?
上传者