以下为例:
要求输出
*
***
*****
*******(星号金字塔)
思路流程:
1.列表格
i代表当前行数,j代表第i行第一个*之前的空格数,k代表第i行的*数目
2.找关系
i+j=4,
k=2*i-1。
3.写循环
#include<stdio.h>
int main()
{
int i,j,k;
for(i=1;i<=4;i++)
{
for(j=1;j<=4-i;j++)
printf(" ");
for(k=1;k<=2*i-1;k++)
printf("*");
printf("\n");
}
return 0;
}
总结:一个要求输出的图形可以切成有规律的部分与没有规律的部分,只要有规律的由星号组成的图形,都可以用循环语句来表达,一旦遇到一个没有规律的部分图形就要换下一个循环语句来输出图形,有规律的图形也分为不同的规律,这些都要以不同的循环规则输出。
(一个行可以看成一个“行”图形)