要求对任意给定的两个正整数x,y,输出下三角乘法口诀表。(若输入时x>y,则交换x,y的值)
【输入形式】
输入仅一行,由键盘输入2个9以内的正整数,两个值之间用空格分隔。
【输出形式】
输出下三角乘法口诀表,其中等号左边两个数字各占1位,等号右边数字占4位、左对齐。
【样例输入】2 6
【样例输出】
2*2=4 3*2=6 3*3=9 4*2=8 4*3=12 4*4=16 5*2=10 5*3=15 5*4=20 5*5=25 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
【答案】
#include<stdio.h>
int main()
{
int x,y,t,i,j;
scanf("%d%d",&x,&y);
if(x>y)
t=x,x=y,y=t;
for(i=x;i<=y;i++)
{ for(j=x,t=0;j<=i;j++)
{
t=j*i;
printf("%d*%d=%-4d",i,j,t);
}
printf("\n");
}
return 0;
}
【解析】本题主要运用了循环结构的嵌套。在本体中我们应该注意的是题中所表明输出的形式,由于等号右边数字占4位、左对齐。所以在输出时对等号右边的格式声明要加上指定的域宽(所占的列数),负号为输出的数字或字符在域内向左靠。
(解析为作者本人见解,仅供参考。如有问题,请联系作者本人或在评论区纠正讨论,谢谢大家)