gpt4 book ai didi

c - 根据字长打印直方图 (C)

转载 作者:太空狗 更新时间:2023-10-29 16:34:01 26 4
gpt4 key购买 nike

这是一个 K&R 练习 (1-13)...

"Write a program to print a histogram of the length of words in its input. It is easy to draw the histogram with bars horizontal; a vertical orientation is more challenging."

该部分是关于数组的,老实说,我不确定我是否完全理解它。到目前为止的一切都相当容易掌握,这不是。

无论如何,我首先尝试使用水平条绘制直方图。一旦我把它弄下来,我会尝试垂直,但现在我什至不确定从哪里开始使用简单版本。 (我睡在上面,醒来,仍然无法得到它。)

我画了一个程序输出的例子:

----------------------------------------------------------------
001|XX
002|XXXX
003|X
004|XXXXXXXXXX
005|XXXXXXXXXXXXXXXXXXXXXXXXX
006|XXXX
007|X
008|
009|XXXXXXXXX
010|XXX
>10|XXXX
----------------------------------------------------------------

并试图将它(程序)分成几个部分。这是我想出的:

  1. PRINT TOP BORDER
  2. PRINT CATEGORY, PRINT X EACH TIME CONDITION IS TRUE, PRINT NEWLINE, REPEAT.
  3. PRINT BOTTOM BORDER

但是我想得越多,我就越不认为它是如何工作的(因为 getchar() 一次通过一个字符,并且它无法返回将 X 放在正确的类别中。)或者...

...我真的很困惑如何解决这个问题。据我所知,这是明智的代码:

#include <stdio.h>

#define MAXWORDLENGTH 10

// print a histogram of the length of words in input. horizontal bar version

int main(void)
{
int c;
while ((c = getchar()) != EOF) {

}

return 0;
}

谁能帮我解惑一下?不一定是代码,也许只是伪代码,或者是一些关于我需要做什么、想什么的“智者之言”。这只是路上的一 block 大石头,我想克服它:/。

(我会在 30 分钟后回来查看)

最佳答案

我喜欢伪代码!那里有一些不错的想法,但您仍然没有正确安排您的程序。

正如您自己所说,您无法阅读文本,返回并在特定行中打印 X。如果我们确定它无法完成,那么除了事先知道直方图的所有值之外别无选择。

因此,您应该认为您的程序有两部分(实际上您在编写的每个程序中都会进行这种划分):首先,进行计算的部分;然后是将以特定格式(直方图)输出它们的部分。

这个提示应该可以帮助您入门!如果您需要进一步的帮助,请在下方发表评论。

关于c - 根据字长打印直方图 (C),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3989790/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com