左對齊、右對齊的9X9乘法表01

左對齊、右對齊的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");
}

}

輸出結果:
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章