- // * 从键盘输入3时
// * *
// * * *
// * *
// * * * *
// * * * * * *
// * * *
// * * * * * *
//* * * * * * * * *
// *
// *
// *
//
//
// * 从键盘输入2时
// * *
// * * *
// * *
// * * * *
// * * * * * *
// *
// *
//
//
//
// * 从键盘输入1时
// * *
// * * *
// *
//
//解题思路:我们可以看成打印多个
// * 从而完成图案
// * * 首先我们一行一行来打印 第一行得出规律打印完*后继续打印五个空格
//* * * 第二行我们可以把* * 看成一个整体不断打印即可
// 第三行我们可以把* * * 看成一个整体不断打印
// 具体实现看下面代码
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
int h,n;
scanf("%d",&h);
n = h - 1;
int lie, hang, hang1;//打印的列数和行数
lie = 2 * (2 + (3 * n)) + 1;//列数
hang = h * 4; //行数
hang1 = hang - h;//打印三角形的行数
int i, j;
for (i = 1; i <= h; i++) //确定要打印几个三角形 1会打印一个 2会打印3个 3会打印6个
{
for (j = 1; j <= hang1 - i; j++)
{
printf(" "); //打印需要的空格
}
for (j = 1; j <= i; j++)
{
printf("* "); //开始打印第一行 若输入等于2,i=2时会打印两个
}
printf("\n");
for (j = 1; j <= hang1 - i-1; j++)
{
printf(" ");
}
for (j = 1; j <= i; j++)
{
printf("* * "); //开始打印第二行
}
printf("\n");
for (j = 1; j <= hang1 - i-2; j++)
{
printf(" ");
}
for (j = 1; j <= i; j++)
{
printf("* * * "); //开始打印第三行
}
printf("\n");
hang1 = hang1 - 2; //很关键的一步,打印空格时依次减少1,一轮下来要减去2,才能保证空格数依次递减
}
//打印最后的树干部分
for (i = 1; i <= h; i++)
{
for (j = 1; j <= lie / 2; j++) //打印空格
{
printf(" ");
}
printf("*\n");
}
return 0;
}
c语言打印圣诞树图案
最新推荐文章于 2023-12-22 01:21:06 发布