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 -----------------------------------------
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP