我要求一些功课帮助。我不是要求答案,我只想指出正确的方向。
我在C中有一个我不熟悉的程序。我必须使用vi
重新创建一个Unix工具。它的工作是阅读输入并“整理”它。它读取单词的段落并重新排列它们,使它们很好地适合指定宽度的线条,根据需要插入换行符。段落与其他段落相隔一个或多个空行,而不是使用-w
更改宽度并使用-r
更改为右对齐。
接下来将使用-j
来证明文本的合理性,以便具有多个单词的每一行都以最大宽度从左向右延伸。我需要应用整数除法来计算使用Kevin Woods Si = i*S/G
完成间隙时应该看到的空格总数,其中S
是行中所需的空格总数, G
是行中字词之间的间隔数,Si
是应该在i'th
间隙末尾出现的空格数。最后,将输入的行与多于一条双线的行间距抑制为双行。
选项应该是累积的 - 我可以指定空行的宽度,对齐和跳过。 -r
和-j
标志不能一起使用。
答案 0 :(得分:1)
第一步:元代码
main(arguments)
analyse arguments f.e. with getopt() for correctness and validity
read the original text
break the text into virtual paragraphs (identified by a double LineBreak)
for each paragraph
break it into lines of less than allowed (-w, default 80) characters
for each line that is not the last line of a paragraph
fill with spaces according to your algorithm and command line spezification
print out all lines
第二步:编码
这是你的任务。当你有代码时,请回来告诉我们你被困的地方。