HM035 四段节拍
HM035 四段节拍
来源: 第 35 集 程序流程结构-循环结构-for循环
难度: 入门
时间限制: 1s
空间限制: 64MB
题目描述
for 循环小括号里有三段表达式,彼此用**分号**隔开:
for (起始表达式; 条件表达式; 末尾循环体)
真正要重复做的事写在后面的大括号里。三段都可以留空、挪到循环外或循环体内,但写在一起时“初始化、判断、更新”最清楚。它和 while、do while 没有本质的效率差别,只是结构更紧凑,日常更常用。
把起始、条件、循环体、末尾分别叫做 0 号、1 号、2 号、3 号,执行顺序是:
- 0 号**只执行一次**(创建或给计数器赋初值);
- 然后反复走 1 号 → 2 号 → 3 号;
- 一旦 1 号为假(例如 \(i \ge n\)),立刻结束,不再进循环体。这和在循环体开头写
if (i >= n) break;再自己做 \(i++\) 是同一条退出路。
读入整数 \(n\),模拟 for (int i = 0; i < n; i++):先按循环体顺序输出 \(i\) 的值,再统计四段各执行了多少次。
输入格式
一行一个整数 \(n\)(\(0 \le n \le 1000\))。
输出格式
第一行:循环体里依次出现的 \(i\),相邻之间一个空格;若一次都没进循环体,输出 NONE。
第二行四个整数,用空格分隔,依次为 0、1、2、3 号的执行次数。每行末尾换行。
样例
输入 #1
10
输出 #1
0 1 2 3 4 5 6 7 8 9
1 11 10 10
输入 #2
0
输出 #2
NONE
1 1 0 0
说明
样例 1 即打印 0 到 9:起始把 \(i\) 做成 \(0\),只做一次;条件在 \(i=0\ldots9\) 为真、在 \(i=10\) 为假,共判断 11 次;循环体和末尾的 \(i++\) 各 10 次。
样例 2:起始仍做一次,第一次判断 \(0 < 0\) 即为假,后面两段一次都不走。
信息
- ID
- 1034
- 难度
- 9
- 分类
- (无)
- 标签
- (无)
- 递交数
- 1
- 已通过
- 1
- 通过率
- 100%
- 上传者