HM033 先做后问

HM033 先做后问

HM033 先做后问

来源: 第 33 集 程序流程结构-循环结构-dowhile语句

难度: 入门

时间限制: 1s

空间限制: 64MB

题目描述

do while 也是循环,语法是:do 后面的大括号里写循环体,末尾 while (条件); 写循环条件(while 写在下一行也可以)。它和 while 的差别只在判断时机:

  • while:先看条件,条件为假则一次也不进循环体。
  • do while:不管条件现在是真是假,**先执行一次**循环体,再判断;还为真就重复,为假才停。

C++ 中 \(0\) 为假、非 \(0\) 为真。若条件写成“变量本身”且起点是 \(0\),while 会直接跳过;do while 仍会先做完那一遍(做完后变量若变成非 \(0\),还会继续,因此本题不用变量本身当条件,以免停不下来)。

读入整数 \(L\)、\(R\)。计数器从 \(L\) 出发,每轮先记下当前值再自增,判断条件为“当前值 \(\le R\)”:

  1. 过程 A 按 do while:先记再判断。
  2. 过程 B 按 while:先判断再记。

两种过程都输出一行。

输入格式

一行两个整数 \(L\)、\(R\)(\(-1000 \le L,R \le 1000\))。

输出格式

第一行:过程 A 记下的全部整数,相邻之间一个空格。

第二行:过程 B 记下的全部整数;若一次都没有,输出 NONE。每行末尾换行。

样例

输入 #1

0 9

输出 #1

0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9

输入 #2

5 3

输出 #2

5
NONE

说明

样例 1 与“输出 0 到 9”相同:从 \(0\) 增到 \(9\) 都满足 \(\le 9\),再加到 \(10\) 后停止,两种循环结果一样。

样例 2:一开始 \(5 \le 3\) 为假,while 一次都不走;do while 仍先记下 \(5\),加到 \(6\) 后再判断失败。两种循环平时用法差不多,差别就在这“至少一遍”。

信息

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