zoukankan      html  css  js  c++  java
  • 给二维数组排版

    0     495     330     210     126     70     35     15     5     1     
    495     495     330     210     126     70     35     15     5     1     
    165     165     120     84     56     35     20     10     4     1     
    45     45     36     28     21     15     10     6     3     1     
    9     9     8     7     6     5     4     3     2     1     
    1     1     1     1     1     1     1     1     1     1    
    

    这样看很难受。

    对于每一列, 算出其最大位数, 设为 x, 假设这一列的一个数的位数为 y, 那么将它后面的空格数设为 k=x+1-y, 就可以保证矩阵的每一列的数字都满足左对齐。

    很naive且不实用, 但是我还是要发出来。

    实现

    int weishu(int x) {
      if(!x) return 1;
      int res=0;
      while(x) x/=10, ++res;
      return res;
    }
    int mx[N];
    void print_matrix(int a[101][101] ,int n, int m) {
      for(int j=0;j<=m;++j)
        for(int i=0;i<=n;++i)
          mx[j] = max(mx[j], weishu(a[i][j]));
      for(int i=0;i<=n;++i) {
        for(int j=0;j<=m;++j) {
          cout<<a[i][j];
          for(int k=mx[j]+2-weishu(a[i][j]);k>=1;--k) putchar(' ');
        }
        putchar('
    ');
      }
    }
    

    效果:

    0    495  330  210  126  70  35  15  5  1  
    495  495  330  210  126  70  35  15  5  1  
    165  165  120  84   56   35  20  10  4  1  
    45   45   36   28   21   15  10  6   3  1  
    9    9    8    7    6    5   4   3   2  1  
    1    1    1    1    1    1   1   1   1  1  
    
  • 相关阅读:
    servlet中doGet()和doPost()的区别
    Hibernate 的getHibernateTemplate()方法使用
    c3p0 数据库连接池
    java 事务处理的概念
    hibernate 关联映射
    java 迭代器
    struts 值桟问题
    struts 属性驱动与模型驱动
    java 单例模式
    XML Node和Element
  • 原文地址:https://www.cnblogs.com/tztqwq/p/13624934.html
Copyright © 2011-2022 走看看