【发布时间】:2014-11-15 08:55:06
【问题描述】:
我的作业任务是编写一个 C 程序,该程序从用户那里获取 4 个数字并垂直打印出相应的直方图(列彼此相邻)。
示例: A = 5 B = 3 C = 1 D = 0
输出:
x
x
xx
xx
xxx
ABCD
我不允许使用数组或 simpleio 之外的任何东西。
我的理解是我需要按行而不是按列进行思考,并且我的起点应该是数量最多的行,并且一旦开始就会继续打印。
除此之外,我只是在寻找某种起点或提示如何正确考虑这一点。任何帮助是极大的赞赏。谢谢!
【问题讨论】:
-
告诉我们你做了什么,因为没有人会做你的作业,你的输出根本没有意义?!!!
-
“在 simpleio 之外”是什么意思?什么是'simpleio'?知道为什么不允许使用数组,因为数组会使工作更容易。
-
很抱歉。 Simpleio 是一个库,我将使用它的唯一目的是从用户那里获取一个整数。乔纳森,我不允许使用它们。因为此时类中还没有涉及到数组。
-
从输入值中求最大值后的简单循环。
-
您大概可以将 I/O 抽象为一段代码,该代码将调用诸如
void print_4_column_histogram(int a, int b, int c, int d)之类的函数,该函数将执行打印。我认为,您将需要确定 4 个整数的最大值,然后对于从该数字到 1 的每一行,您将安排为 4 列中的每一列打印一个空白或一个“x” ,后跟换行符。然后打印“ABCD”作为最后一行。例如,您可能想要验证数字是否在 0..99 范围内,但这可能是 I/O 问题,而不是打印功能的问题。