C中的图案印刷

时间:2015-10-03 20:26:45

标签: c

嘿,我很难找到打印这种模式的逻辑。我试了很多但找不到任何办法。

我的问题是:

我有一个包含一些随机整数的数组,基于此我必须以垂直格式打印星号(*)。

例如:

array = [2,3,5,2,6];

然后模式将是:

    *
  * *    
  * *
 ** *
*****   
*****

3 个答案:

答案 0 :(得分:1)

以下是如何在Java中执行此操作,没有临时数组(Java Fiddle here):

 public static void main(String []args){
   final int[] array = new int[]{2,3,5,2,6};

   int max = -1; // Maximum of all integers
   for (int num : array) {
       max = Math.max(max, num);
   }

   for (int vert = 0; vert < max; ++vert) {
       for (int horz = 0; horz < array.length; ++horz) {
           System.out.print(array[horz] >= max-vert ? '*' : ' ');
       }
       System.out.println();
   }
}

输出:

    *
  * *
  * *
 ** *
*****
*****

答案 1 :(得分:0)

我建议你这样做。

初始化2D数组。 行数等于数组中的最高数。和列等于数组中的整数数。

然后,您可以使用相应数量的星形填充数组,以获取数组中的特定索引。希望至少能让你理解一个多元逻辑。

答案 2 :(得分:0)

~/.bash_aliases