一、九九乘法表
如下图所示:
二、分析思路
Step1
直观来看,应该需要两个for循环(i)(j),直接上代码,再进行分析补充:
for (int i = 1; i <= 9; i++)
{
for (int j = 1; j <= i; j++)
{
}
}
这里需要注意的是,由于九九乘法表整体排列为递减排列,即不应打印出"9*1=9"这样前面的数大于后者的算式。所以内部for循环的表达式2应写为j<=i,而不是j<=9。
Step2
最终打印的算式里有3个整数,除了 i 和 j ,我们再定义积 k,并且打印 i * j = k(或不定义k,打印时第三个变量给出i*j即可)。
int main()
{
for (int i = 1; i <= 9; i++)
{
for (int j = 1; j <= i; j++)
{
int k = i * j;
printf("%d * %d = %d ", j, i, k); //或printf("%d * %d = %d ", j, i, i*j);
}
}
return 0;
}
对于九九乘法表,我们习惯于一列一列读,但在代码输出时,系统为一行一行输出,所以:
1.在printf("%d * %d = %d ", j, i, k);时注意把 j(也就是较小的数)放在前面;
2.在printf("%d * %d = %d ", j, i, k);第三个%d后打印空格以便隔开;
3.在退出第二个for循环后打印 \n ,进行分行。
Step3
补全代码:
int main()
{
for (int i = 1; i <= 9; i++)
{
for (int j = 1; j <= i; j++)
{
int k = i * j;
printf("%d * %d = %d ", j, i, k);
}
printf("\n");
}
return 0;
}
调试结果: