左對齊、右對齊的9X9乘法表
一、分析:
1、可將乘法表視爲一個二維的平面系,橫軸和縱軸各代表一個乘數,所以共需要兩個變量。
3、左對齊時由於橫座標和縱座標都是從1—9進行累加,所以可以用兩次循環語句。
右對齊時由於需要控制空格的數量所以需要多加一個循環,共需三個循環結構。
2、對齊方式:每個乘式之間用製表符(tab鍵)分開,每行之間換行分佈。
二、邏輯圖:
三、代碼(以C語言爲例):
左對齊
每行的等式數遞增:
#include<stdio.h>
int main(){
int a,b;
printf("\t\t\tThis is the 9*9 table.\n");
for (a=1;a<=9;a++) {
for (b=1;b<=a;b++) {
printf("%dx%d=%d\t",a,b,a*b);
}
printf("\n");
}
}
輸出結果:
每行的等式數遞減:
#include <stdio.h>
int main(){
int a;
int b;
printf("\t\t\tThis is the 9*9 table.\n");
for (a=9; a>=1; a--) {
for (b=1; b<=a; b++) {
printf("%dx%d=%d\t",a,b,a*b);
}
printf("\n"); }
}
輸出結果:
右對齊
每行等式數遞增
#include<stdio.h>
int main(){
int a,b,c;
printf("\t\t\tThis is the 9*9 table.\n");
for (a=1;a<=9;a++) {
for(c=1;c<=9-a;c++)
printf("\t");
for (b=1;b<=a;b++) {
printf("%dx%d=%d\t",a,b,a*b);
}
printf("\n");
}
}
輸出結果:
每行等式數遞減
#include <stdio.h>
int main(){
int a,b;
printf("\t\t\tThis is the 9*9 table.\n");
for(a=9;a>=1;a--){
for(b=1;b<=9-a;b++)
printf("\t");
for(b=a;b>=1;b--){
printf("%dx%d=%d\t",a,b,a*b);
}
printf("\n");
}
}
輸出結果: