C程序表示一个乘法表。


问题

编写一个程序打印从 1 x 1 到 12 x 10 的乘法表,如下所示 −

1 2 3 4 5 6 7 8 9 10
2 4 6 8 ……………….20
3 6 9…………………….30
4 8 12 16……………..40
-
-
-
12 24……………………..120

解决方案

以嵌套形式使用两个do while循环来显示乘法表。

用于显示乘法表的逻辑如下 −

内层循环受变量列控制,每执行一次外层循环就执行 10 次。

外层循环由变量行控制,执行 12 次。

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("
");    row = row + 1; } while (row <= ROWMAX);/*..... OUTER LOOP ENDS .....*/

实例

以下是打印乘法表的 C 程序 −

 在线演示

#include<stdio.h>
#define COLMAX 10
#define ROWMAX 12
main(){
   int row,column, y;
   row = 1;
   printf(" MULTIPLICATION TABLE 
");    printf("-----------------------------------------
");    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("
");       row = row + 1;    }    while (row <= ROWMAX);/*..... OUTER LOOP ENDS .....*/    printf("-----------------------------------------
"); }

输出

当执行以上程序时,将产生以下输出 −

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
-----------------------------------------

更新于: 25-Mar-2021

795次浏览

职业起步

完成课程获得认证

开始
广告