輸入規範
每一行為一個測試案例,每行輸入兩正整數 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");
}
}
}
留言列表