HM070 三师十五徒
HM070 三师十五徒
来源: 第 70 集 结构体-结构体案例1
难度: 入门
时间限制: 1s
空间限制: 64MB
题目描述
学校做必修项目:每名教师带恰好 \(5\) 名学生。教师结构体里除了自己的姓名,还要嵌套一个长度为 \(5\) 的学生数组。学生结构体只有姓名和考试分数。
必须先定义学生类型,再定义教师类型。若教师里先写学生数组、学生类型却还没出现,编译器会报「不允许使用不完整的类型」。
需要两步函数:
- 赋值函数
allocateSpace:接收教师数组和长度。不要把教师人数写死在函数里,长度由调用方传入。教师姓名生成为Teacher_再追加字母表ABCDE中第 \(i\) 个字母;该教师的 \(5\) 名学生姓名生成为Student_再追加ABCDE中第 \(j\) 个字母(\(j=0\ldots4\))。 - 打印函数
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
- 通过率
- ?
- 上传者