下面是这道题在牛客的链接:
接下来我们来逐步分析这道题:
题目定位:循环嵌套
首先观察规律,一共九行,所以我们要换行,一共换九次
#include <stdio.h>
int main()
{
for (int i = 1; i <= 9; i++)
{
printf("\n");
}
return 0;
}
其次每一行都有等于其行数的式子
int main()
{
for (int i = 1; i <= 9; i++)
{
for (表达式)
{
printf(式子);
}
printf("\n");
}
return 0;
}
紧接着分析每一个式子的规律:
每一个式子都是由一个数字a乘一个数字b等于a和b的乘积;且每一行的数字a都是从1开始递增到行数的大小,比如:第三行,a从1开始,最后一个式子a为3.
其次,每一行中每一个式子b都是固定的等于其行数;
在循环中我们用i表示行数,所以b就是i;
而a是从1开始递增到i,所以我们需要用循环嵌套,我们令j=a,那么代码如下
int main()
{
for (int i = 1; i <= 9; i++)
{
for (int j=1;j<=i;j++)
{
printf("%d*%d=%2d ",j,i,j*i);
}
printf("\n");
}
return 0;
}
运行结果如下: