辰辰的第九个程序(打印边长为n的正六边形)

该程序定义了一个宏CRT_SECURE_NO_WARNINGS以避免安全警告,然后使用C语言的标准库。主要功能是读取用户输入的边长a,生成一个由星号(*)组成的图形,图形形状类似于一个倒置的金字塔,总共有3*a-2行。程序通过嵌套循环结构实现星形图案的打印。
摘要由CSDN通过智能技术生成
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main()
{
	int a, n;//a为边长,n为总行数,i为当前行数
	scanf("%d", &a);
	n = 3 * a - 2;
	for (int i = 0; i < a - 1; i++) //第一行
	{
		printf(" ");
	}
	for (int i = 0; i < a; i++)

	{
		printf("*");
	}
	printf("\n");
	for (int i = 2; i <= a; i++)  //第2到a行
	{
		for (int j = 0; j < a - i; j++)
		{
			printf(" ");
		}
		printf("*");
		for (int j = 0; j <a+2*(i-2); j++)
		{
			printf(" ");
		}
		printf("*");
		printf("\n");
	}
	for (int i = a + 1; i <= 2 * a - 1; i++) //第a+1到2a-1行
	{
		printf("*");
		for (int j = 0; j < 3*a-4; j++)
		{
			printf(" ");
		}
		printf("*");
		printf("\n");
	}
	for (int i = 2 * a ; i <= n - 1; i++)   //第2a到n-1行
	{
		for (int j = 0; j < i + 1 - 2 * a;j++)
		{
			printf(" ");
		}
		printf("*");
		for (int j = 0; j < a+2*(n-i-1); j++)
		{
			printf(" ");
		}
		printf("*");
		printf("\n");
	}
	for (int i = 0; i < a - 1; i++)   //第n行
	{
		printf(" ");
	}
	for (int i = 0; i < a; i++)

	{
		printf("*");
	}
	printf("\n");
	
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值