//打印以下图案(用循环实现)七层菱形
#include<stdio.h>
int main()
{
int i, j;
for (i = 1; i <= 4; i++)//大循环框架→上面四层
{
for (j = i; j <= 3; j++)//打印上部分空格,3,2,1个空格,右边空格不用管''
{
printf(" ");//打印空格
}
for (j = 1; j <= 2 * i - 1; j++)//打印三角形实体,第四层七个,1,3,5,7
{
printf("*");//打印*
}
printf("\n");//换行
}
for (i = 1; i <= 3; i++) //大循环框架→下面三层,高度为3的倒三角形
{
for (j = 1; j <= i; j++)//打印下部分空格,1,2,3个空格
{
printf(" ");
}
for (j = 1; j <= 7 - (i *2); j++)
{
printf("*");
}
printf("\n");
}
/*
设层数为i,以i作为框架中心
1~4层大框架:for (i = 1; i <= 4; i++)
第一层:3个空格1个*
第二层:2个空格3个*
第三层:1个空格5个*
第四层:0个空格7个*
即可列出5~7层的*关于i的一次函数表达式:2*i-1
则空格的打印代码为:for (j = i; j <= 3; j++),当i=4时不打印*
则*的打印代码为:for (j = 1; j <= 2 * i - 1; j++)
5~7层大框架:for (i = 1; i <= 3; i++)
第五层:1个空格5个*
第六层:2个空格3个*
第五层:3个空格1个*
即可列出5~7层的*关于i的一次函数表达式:7-2*i
则空格的打印代码为:for (j = 1; j <= i; j++)
则*的打印代码为:for (j = 1; j <= 7-2*i; j++)
*/
}