title: C programming to make multiplication table (1-12)
body: <p>I want to make a program that takes a single integer command line argument (n) and makes n x n multiplication table resembling the 4x4 example below. It should be only 1 through 12, but shouldn't be no smaller or larger. So if there is not enough argument, it should be print a usuage: <code>Usage: program &lt;n&gt; \n</code> or if it is out of range then it should be print: <code>n out of range (1-12)\n</code> and exit.</p>
  
  <p>Example:
  ./program 4</p>
  
  <pre><code>*    1   2   3   4
    +----------------
   1|   1   2   3   4
   2|   2   4   6   8
   3|   3   6   9  12
   4|   4   8  12  16
  </code></pre>
  
  <p>My code I have tried but wasn't success. I have copied the compiled is not what I expected in the below. </p>
  
  <pre><code>#include &lt;stdio.h&gt;
  
  int main(void) 
  {
      int i, j;
  
      printf(" +");
      for (i = 1; i &lt; 13; ++i) 
      {
          printf("%#3d ", i);
          printf("\n");
      }
  
      for (i = 1; i &lt; 64; ++i) 
      {
          printf("-");
          printf("\n");
      }
  
      for (i = 1; i &lt; 13; ++i) 
      {
          printf("%#2d |", i);
  
          for (j = 1; j &lt; 11; ++j) 
          {
              printf("%#3d ", i * j);
              printf("\n");
          }
      }
  
      return 0;
  }
  </code></pre>
  
  <blockquote>
    <p>After compile:</p>
  
  <pre><code>gcc version 4.6.3
  
   +  1 
    2 
    3 
    4 
    5 
    6 
    7 
    8 
    9 
   10 
   11 
   12 
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   1 |  1 
    2 
    3 
    4 
    5 
    6 
    7 
    8 
    9 
   10 
   2 |  2 
    4 
    6 
    8 
   10 
   12 
   14 
   16 
   18 
   20 
   3 |  3 
    6 
    9 
   12 
   15 
   18 
   21 
   24 
   27 
   30 
   4 |  4 
    8 
   12 
   16 
   20 
   24 
   28 
   32 
   36 
   40 
   5 |  5 
   10 
   15 
   20 
   25 
   30 
   35 
   40 
   45 
   50 
   6 |  6 
   12 
   18 
   24 
   30 
   36 
   42 
   48 
   54 
   60 
   7 |  7 
   14 
   21 
   28 
   35 
   42 
   49 
   56 
   63 
   70 
   8 |  8 
   16 
   24 
   32 
   40 
   48 
   56 
   64 
   72 
   80 
   9 |  9 
   18 
   27 
   36 
   45 
   54 
   63 
   72 
   81 
   90 
  10 | 10 
   20 
   30 
   40 
   50 
   60 
   70 
   80 
   90 
  100 
  11 | 11 
   22 
   33 
   44 
   55 
   66 
   77 
   88 
   99 
  110 
  12 | 12 
   24 
   36 
   48 
   60 
   72 
   84 
   96 
  108 
  120
  </code></pre>
  </blockquote>
  
  <p>I have been stuck on this for 2 days and trying to figure it out why is it going straight down.. Thank you. </p>