Printing of a table using do...while loop

Program 22) A program to print the multiplication table from 1 x 1 to 12 x 10 
      1                2                   3                    4   ...............  10
      2                4                   6                    8   ...............  20
      3                6                   9                   12  ...............  30
      4                                                               ................  40
      -
      -
      -
     12                                                              ................ 120

This program contains two do.... while loops in nested form. The outer loop is controlled by the variable row and executed 12 times. The inner loop is controlled by the variable column and is executed 10 times, each time the outer loop is executed. That is, the inner loop is executed a total of 120 times, each time printing a value in the table.

                                  PROGRAM

#define COLMAX 10
#define ROWMAX 12
main ( )
 {
         int row, column, y ;
         row = 1 ;
         printf ("            MULTIPLICATION TABLE        \n") ;
         printf ("-----------------------------------------------------\n") ;
         do  /* OUTER LOOP BEGINS  */
          {
                  column = 1 ;
                  do  /*  INNER LOOP BEGINS  */
                   {
                         y = row * column ;
                         printf ("%4d", y) ;
                         column = column + 1 ;
                  }
                  while (column <= COLMAX) ;
                   /*  INNER LOOP ENDS  */
                  printf ("\n") ;
                  row = row + 1 ;
            }
            while (row <= ROWMAX) ;
                 /*  OUTER LOOP ENDS  */
            printf ("------------------------------------------\n") ;
 }

Output:                MULTIPLICATION TABLE
             -----------------------------------------------------------------
             1      2      3      4      5      6      7      8      9      10
             2      4      6      8     10    12    14     16    18     20
             3      6      9     12    15    18    21     24    27     30
             4      8     12    16    20    24    28     32    36     40
             5     10    15    20    25    30    35     40    45     50
             6     12    18    24    30    36    42     48    54     60
             7     14    21    28    35    42    49     56    63     70
             8     16    24    32    40    48    56     64    72     80
             9     18    27    36    45    54    63     72    81     90
            10     20   30    40    50    60    70     80    90    100
            11     22   33    44    55    66    77     88    99    110
            12     24   36    48    60    72    84     96   108   120
            -------------------------------------------------------------------


Notice that the printf of  the inner loop does not contain any new line character (\n). This allows the printing of all rows values in one line. The empty printf in the outer loop initiates a new line to print the next row.
                 

No comments:

Post a Comment