1.代码的书写逻辑
写代码之前要先想一下代码的逻辑,这样在写的过程中思路会更清晰
比如本案例要输出一个乘法口诀表,这里先将输出结果放出来以便分析
首先是直观的分析:它是一个九行九列的表,每一层都是等式且每一行等式数量从1到9逐渐递增
这是对 一个现实世界信息的直接分析接下来是代码逻辑
该类代码可以归结为:输出n行特定格式的数据,一般需要循环嵌套
我们先直接构造出行数然后再用具体数据格式去填充。
实现如下:
for(i=1;i<=9;i++) //分层使用循环来实现,几层就是他的限制条件。
{
printf("\n");
}
因为有九行所以就循环九次每一次输出一个换行符
下面进行具体数据的填充
我们再看一下要输出数据的共性,首先每一行都是因数不同的等式,且每一列等式的第二个因数都一样,第一个因数逐渐加一。这显然不是一个循环可以实现的,所以我们要进行循环的嵌套,由外面的for循环实现固定的第二个因数,内层的for循环,来进行第一个因数的递增,同时要控制第一个因数大小不能超过第一个,以保证表格的规范输出。
实现如下:
for(i=1;i<=9;i++) //分层使用循环来实现,几层就是他的限制条件。
{
for(j=1;j<=i;j++) //在层数内构造等式的循环
{
a = i * j; //获取乘法结果
printf("%d*%d=%d ",j,i,a); //这里思考一下乘法表的数字排列方式(开头为1然后乘其他数字)
}
printf("\n");//每一行结束后换行以实现工整的乘法表格式。
}
以上就是代码的主体逻辑完整代码如下:
#include<stdio.h>
int main()
{
int i,j,a;
for(i=1;i<=9;i++) //分层使用循环来实现,几层就是他的限制条件。
{
for(j=1;j<=i;j++) //在层数内构造等式的循环
{
a = i * j; //获取乘法结果
printf("%d*%d=%d ",j,i,a); //这里思考一下乘法表的数字排列方式(开头为1然后乘其他数字)
}
printf("\n");//每一行结束后换行以实现工整的乘法表格式。
}
return 0;
}