C编程格式调整

时间:2015-02-18 07:46:44

标签: objective-c c unix formatting vi

我要求一些功课帮助。我不是要求答案,我只想指出正确的方向。

我在C中有一个我不熟悉的程序。我必须使用vi重新创建一个Unix工具。它的工作是阅读输入并“整理”它。它读取单词的段落并重新排列它们,使它们很好地适合指定宽度的线条,根据需要插入换行符。段落与其他段落相隔一个或多个空行,而不是使用-w更改宽度并使用-r更改为右对齐。

接下来将使用-j来证明文本的合理性,以便具有多个单词的每一行都以最大宽度从左向右延伸。我需要应用整数除法来计算使用Kevin Woods Si = i*S/G完成间隙时应该看到的空格总数,其中S是行中所需的空格总数, G是行中字词之间的间隔数,Si是应该在i'th间隙末尾出现的空格数。最后,将输入的行与多于一条双线的行间距抑制为双行。

选项应该是累积的 - 我可以指定空行的宽度,对齐和跳过。 -r-j标志不能一起使用。

1 个答案:

答案 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
第二步:编码 这是你的任务。当你有代码时,请回来告诉我们你被困的地方。