HM039 三处断开
HM039 三处断开
来源: 第 39 集 程序流程结构-跳转语句-break语句
难度: 入门
时间限制: 1s
空间限制: 64MB
题目描述
break 用来跳出当前这一层**选择结构**或**循环结构**。有三种使用时机:
- 出现在
switch里:终止当前case并离开整个switch。每个case后面都要加;default一般也加。漏写的话会顺着后面的分支继续执行。 - 出现在单层循环里(
while/do while/for都可以):立刻结束这层循环。比较相等时必须用==,写成单个=会出错。 - 出现在嵌套循环的内层:只退出内层,**不影响外层**。外层该进行的下一轮照常进行。
读入场景编号 \(kind\),再按场景读入参数。
场景 1(switch 选副本难度)
再读入字符 \(op\) 和整数 \(select\)。\(select\) 为 \(1\) 普通、\(2\) 中等、\(3\) 困难,其余走 default 且不输出任何评价。
- \(op=\)
B:每个分支带break,只输出对应那一句。 - \(op=\)
F:漏写break,从命中的case贯穿到困难(default仍无输出)。
用词固定为:您选择的是普通难度、您选择的是中等难度、您选择的是困难难度。
场景 2(单层 for)
再读入整数 \(stop\)。模拟 for (int i = 0; i < 10; i++):若 \(i == stop\) 则立刻 break(这一轮还没打印 \(i\))。输出已经打印的数。
场景 3(嵌套星阵)
再读入整数 \(n\) 和 \(innerStop\)。外层 \(i\) 从 \(0\) 到 \(n-1\),内层 \(j\) 从 \(0\) 到 \(n-1\) 打印 *;当 \(j == innerStop\) 时 break 内层。外层继续下一行。
输入格式
第一行一个整数 \(kind\)(\(1 \le kind \le 3\))。
- \(kind=1\):第二行一个字符 \(op\)(
B或F)和一个整数 \(select\)(\(0 \le select \le 9\))。 - \(kind=2\):第二行一个整数 \(stop\)(\(0 \le stop \le 10\))。\(stop=10\) 表示不会提前断开。
- \(kind=3\):第二行两个整数 \(n\)、\(innerStop\)(\(1 \le n \le 20\),\(0 \le innerStop \le n\))。
输出格式
按对应场景输出。场景 2 若一个数都没打印,输出 NONE。场景 3 每一行星号后面带空格,然后换行。各行末尾换行。
样例
输入 #1
1
B 1
输出 #1
您选择的是普通难度
输入 #2
2
5
输出 #2
0 1 2 3 4
说明
场景 1 若输入 F 1,应连续输出普通、中等、困难三行。B 9 什么也不输出。
场景 2:\(i\) 走到 \(5\) 时先 break,\(5\) 本身不会被打印,所以只留下 \(0\) 到 \(4\)。
场景 3 输入 10 5 时,每行只打五个 *(\(j=0\ldots4\)),共十行;break 只打断 \(j\) 那一层。这三种里,循环里用 break 最常见,switch 里则几乎每个 case 都要写。
信息
- ID
- 1038
- 难度
- (无)
- 分类
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 通过率
- ?
- 上传者