任务
您的任务是编写整个程序,该程序会将给定的输入与给定大小的块对齐。
输入:
40
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
输出:
Lorem ipsum dolor sit amet, consectetur
adipiscing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna
aliqua. Ut enim ad minim veniam, quis
nostrud exercitation ullamco laboris
nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit
in voluptate velit esse cillum dolore eu
fugiat nulla pariatur. Excepteur sint
occaecat cupidatat non proident, sunt in
culpa qui officia deserunt mollit anim
id est laborum.
<-- note the linebreak
输入详细信息
- 您必须编写整个可执行/可解释程序。
- 您可能会假设输入仅包含可打印的ASCII字符,并且不包含tab
\t
。 - 输入可以包含换行符。如果它这样做,他们给出
\n
,\r
或\r\n
取决于你所期望的。但是,它们在整个输入中是统一的。 - 输入可以使用STDIN或命令行参数给出。如果适合您,可以同时使用它们(例如,从命令args读取块大小并将其输入为stdin)。但是,您可能无法对输入的任何部分进行硬编码。
- 您可能会假设块大小为有效的正(
> 0
)数字。 - 输入中的换行符与空格的处理方式相同(因此是单词分隔符)
- 如果输入包含多个并发空间,则将它们视为一个。
输出细节
- 必须将输出格式化为给定大小的块。通过在单词之间添加空格来完成格式化。
- 一行上单词之间的空格数必须等于该行。如果不可能,则必须在从左开始的单词之后一一添加额外的空格。
- 如果单词长于给定的块大小,它将在一行上单独显示(并超过块大小)。
- 如果输出只包含一个单词,则将其向左对齐。
- 输出的最后一行必须向左对齐,单词之间只有一个空格。输出的最后一行必须以尾随换行符结尾。
一段时间后,字节数最短的答案将获胜。
如果您需要其他信息,请发表评论。
测试用例
Input:
10
Lorem ipsum dolor sit amet,
consectetur adipiscing elit, sed do eiusmod tempor
Output:
Lorem
ipsum
dolor sit
amet,
consectetur
adipiscing
elit, sed
do eiusmod
tempor
Input:
20
Lorem ipsum
dolor sit amet,
Output:
Lorem ipsum dolor
sit amet,
Input:
1
Lorem ipsum dolor sit amet
Output:
Lorem
ipsum
dolor
sit
amet
有关。(最后是我的版式标签已经被自动删除的第二个挑战。;))
—
马丁·恩德
@MartinBüttner我不知道这样的标签存在。
—
Zereges 2015年
@Vɪʜᴀɴ 您必须编写整个可执行/可解释程序。
—
丹尼斯
@ppperry有趣的是,由于某种原因,它避免了我的搜索技能
—
Zereges 2015年