HM277 档案三态
HM277 档案三态
来源: 第 277 集 演讲比赛流程管理系统-读取记录-获取往届分数
难度: 普及-
时间限制: 1s
空间限制: 64MB
题目描述
查看往届成绩前,要先把记录文件装进内存。加载函数要处理三种互斥状态,并用一个布尔标志记住「文件是否为空」:
- 打不开:输入流打开失败(文件不存在)。把标志设为真,提示文件不存在,关闭后立刻返回。
- 存在但是空的:文件能打开,却已经被清空。先读走一个字符,若此时已经到达文件尾,把标志设为真,提示文件为空,关闭后返回。
- 有数据:前两种都不成立。把标志设为假。因为检测空文件时已经读走了一个字符,必须先把它**放回**输入流,再按「空白分隔」把每一段原始记录读出来。本问只要求拿到整行字符串,先不要按逗号拆字段。
有数据时,还要准备好往后届表:键是届号,值是字符串数组。本问尚未解析,因此只输出读到的原始行,并在最后输出标志对应的单词。
本题用标准输入模拟文件内容,不真正创建磁盘文件。
输入格式
第一行一个字符串 \(op\),取值只能是 MISSING、EMPTY 或 DATA。
若 \(op\) 为 DATA,第二行一个整数 \(n\),随后 \(n\) 行,每行一段不含空白的原始记录(逗号分隔的一整串)。
输出格式
MISSING:第一行文件不存在,第二行EMPTY。EMPTY:第一行文件为空,第二行EMPTY。DATA:先按读入顺序各输出一行原始记录,最后一行NONEMPTY。
样例
输入 #1
DATA
2
10002,86.675,10009,88.250,10001,80.000,
10004,90.000,10005,84.500,10006,91.125,
输出 #1
10002,86.675,10009,88.250,10001,80.000,
10004,90.000,10005,84.500,10006,91.125,
NONEMPTY
输入 #2
MISSING
输出 #2
文件不存在
EMPTY
输入 #3
EMPTY
输出 #3
文件为空
EMPTY
说明
\(1 \le n \le 100\)。DATA 保证每一行至少有一个字符,因此「先读一个字符再放回」之后一定还能完整读出原串。
空文件与「文件不存在」都要把空标志设为真,但不能用同一句提示:前者是文件为空,后者是文件不存在。
信息
- ID
- 1276
- 难度
- (无)
- 分类
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 通过率
- ?
- 上传者