要求:在屏幕上输出9*9乘法口诀表
首先观察一下乘法口诀表
通过观察我们可以发现:
1·需要两个变量,以及两个变量相乘的结果
2·每行结束的标志为两个变量相同进行换行
3·一个表达式每一列左边的值都是一样的
因此我们开始写代码
运行结果如下:
可以发现数是打印出来了 但是和乘法表形式不太一样:
1·首先乘法口诀表是阶梯形式的,而我们打印的形式,类似于矩形
2·其次乘法口诀表每一列表达式中左边的数是一样的,看输出结果明显应该左右颠倒才对
改进:
1·每一行结束标志为 i=j 时才换下一行,因此for循环中第二个循环条件改为 j<=i;
2·将打印结果互换i,j就可以得到每一列左边都是一样的数字
此时代码为:

运行结果为:

此时便是正常的形式,我们也可以为了将%d改为%-2d,printf()允许限定占位符的最小宽度。
%-2d 表示这个占位符的宽度
至少为5位。如果不满5⃣️位,对应的值的前面会添加空格。输出的值默认是右对齐
,即输出内容前面会有空格;如果希望改成左对齐,在输出内容后面添加空格,可以在占位符%的后面添加一个-号;
此时代码为
#include <stdio.h> int main(){ for (int i = 1; i <=9; i++) { for (int j = 1; j <=i; j++) { printf("%d*%d=%-2d ",j,i,i*j);//确定两个变量i,j 并有两个变量的乘积 } printf("\n"); } return 0; }
打印结果为: