2013-01-31 122 views
0

我需要解决以下测试问题的帮助(这不是一个家庭作业或作业) 用户可以从1-9控制台值和程序输入接受3个数字,每行一个号码。 如果用户输入以下:打印树程序

输出应该是:

   1 
      2 2 
      3 3 3 
      1 
      2 2 
       1 
       2 2 
      3 3 3 
      4 4 4 4 

我没有任何树木的经验,所以请告知什么样的树是那种,我在哪里可以开始完成上述程序(我需要一些提示和建议,这将有助于我使这个程序)

在此先感谢。

+4

纯代码写入请求不属于主题。但是,您可以询问关于您尝试过但未按预期工作的具体问题。 – assylias

+0

@assylias,请告诉我该从哪里开始,以便我可以完成这个程序。 – Mahmoud

+1

这不是一棵树。这只是一个模式打印程序。 – nikhil

回答

0

定义一个二维字符数组,将保存数字。从顶部中间开始。使用递归。

+0

这也有可能没有递归肯定。这个想法是,下去 - 加左 - 加右 - 为当前=左和当前=右。然而,这样做的确如此,某些单元格会获得两次相同的值。 – h22

1

不需要树形数据结构。你的程序的一般性特征将是以下:

  • 阅读三个输入
  • 对于每个输入的n,使用for循环从1到n进行打印使用n个作为输出值n行
  • (比较难的部分:)在每一行上,您还需要生成所需的间距。这将涉及基于n和n的最大值的计算。由于n是单个数字,所以一旦大于等于10,您将不必考虑n占用更多字符。