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次瀏覽

職業起步

完成課程獲得認證

開始
廣告
© . All rights reserved.