close
輸入規範
每一行為一個測試案例,每行輸入兩正整數 x 與 y,
其中 0 < x, y < 10,當輸入為 0 0 時結束列印。
輸出規範
每一案例橫向遞增或遞減輸出從 x*1=x 到 y*9=(y*9) 的 99乘法表,
其中每一案例共輸出 |x-y+1| 行,
每行有 9 列,行與行之間加框間隔,
乘積格式為2位靠右對齊

 

輸入:

4 2
8 9
0 0

輸出:

Case 1:
+------+------+------+
|4*1= 4|3*1= 3|2*1= 2|
|4*2= 8|3*2= 6|2*2= 4|
|4*3=12|3*3= 9|2*3= 6|
|4*4=16|3*4=12|2*4= 8|
|4*5=20|3*5=15|2*5=10|
|4*6=24|3*6=18|2*6=12|
|4*7=28|3*7=21|2*7=14|
|4*8=32|3*8=24|2*8=16|
|4*9=36|3*9=27|2*9=18|
+------+------+------+
Case 2:
+------+------+
|8*1= 8|9*1= 9|
|8*2=16|9*2=18|
|8*3=24|9*3=27|
|8*4=32|9*4=36|
|8*5=40|9*5=45|
|8*6=48|9*6=54|
|8*7=56|9*7=63|
|8*8=64|9*8=72|
|8*9=72|9*9=81|
+------+------+

程式碼:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int t=1,x,y,z,i,m,n;
    while(1)
    {
        scanf("%d %d",&x,&y);
        if(x==0&&y==0) break;
        else
        {
            printf("Case %d:\n",t++);
            printf("+");
            z=x-y;
            if(z<0) z=-z;
            for(i=1;i<=z+1;i++) printf("------+");
            printf("\n");
            for(m=1;m<=9;m++)
            {
                if(x<=y)
                {
                    for(n=x;n<=y;n++)
                    {
                        if(n==x) printf("|");
                        printf("%d*%d=%2d|",n,m,m*n);
                    }
                }
                else
                {
                    for(n=x;n>=y;n--)
                    {
                        if(n==x) printf("|");
                        printf("%d*%d=%2d|",n,m,m*n);
                    }
                }
                printf("\n");
            }
            printf("+");
            for(i=1;i<=z+1;i++) printf("------+");
            printf("\n");
        }
    }
}
 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 亞亞 的頭像
    亞亞

    亞亞的小窩

    亞亞 發表在 痞客邦 留言(0) 人氣()