輸入規範
每一行為一個測試案例,每行輸入兩正整數 x 與 y,
其中 0 < x, y < 10,當輸入為 0 0 時結束列印。
輸出規範
每一案例橫向遞增或遞減輸出九九乘法表,
當 x <= y 時,從 x*1=x 到 y*9=(y*9) 的九九乘法表,
當 x > y 時,從 x*9=(x*9) 到 y*1=y 的九九乘法表,
其中每一案例共輸出 |x-y|+1 行,
每行有 9 列,行與行之間用逗點間隔,
乘積格式為2位靠右對齊
輸入:
4 2
8 9
0 0
輸出:
Case 1:
4*9=36,3*9=27,2*9=18
4*8=32,3*8=24,2*8=16
4*7=28,3*7=21,2*7=14
4*6=24,3*6=18,2*6=12
4*5=20,3*5=15,2*5=10
4*4=16,3*4=12,2*4= 8
4*3=12,3*3= 9,2*3= 6
4*2= 8,3*2= 6,2*2= 4
4*1= 4,3*1= 3,2*1= 2
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,i,j;
while(1)
{
scanf("%d %d",&x,&y);
if(x==0&&y==0) break;
else
{
printf("Case %d:\n",t++);
if(x<=y)
{
for(i=1;i<=9;i++)
{
for(j=x;j<=y;j++)
{
if(j!=x) printf(",");
printf("%d*%d=%2d",j,i,i*j);
}
printf("\n");
}
}
else
{
for(i=9;i>=1;i--)
{
for(j=x;j>=y;j--)
{
if(j!=x) printf(",");
printf("%d*%d=%2d",j,i,i*j);
}
printf("\n");
}
}
}
}
}
留言列表