【问题标题】:C Programming Format AdjustmentC编程格式调整
【发布时间】:2023-03-23 18:15:01
【问题描述】:

我正在寻求一些家庭作业帮助。我不是在问答案,我只是想指出正确的方向。

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

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

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

【问题讨论】:

  • 能描述一下您在解决它时遇到的困难吗? stackoverflow.com/help/on-topic
  • 我在启动程序时遇到问题。我已经为程序修复了扭曲的段落,但是我不知道从哪里开始编码来修复它。
  • “启动程序”?这是否意味着:“我如何开始编程”还是意味着“我如何开始编程”?在第一种情况下:拿起书(K&R 用 C 语言编程)并阅读,然后回来
  • 不确定,问题出在哪里。你有代码吗?你想启动程序吗?那么你必须使用编译器和链接器(f.e. gcc)来构建一个可执行文件,你可以从命令行开始。请详细说明您对“修复”一词的理解。

标签: objective-c c unix formatting vi


【解决方案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

第二步:编码 这是你的任务。请回来,当你有代码时,它会告诉我们你卡在哪里了。

【讨论】:

  • 是的,如何启动程序,我目前正在阅读 getchart 和 putchar 以在其中使用。
  • 如何开始:编译链接后./a.out
猜你喜欢
  • 2016-03-25
  • 1970-01-01
  • 2018-07-13
  • 2013-01-09
  • 2019-08-09
  • 1970-01-01
  • 2011-01-12
  • 2011-02-12
  • 2016-12-13
相关资源
最近更新 更多