当前位置: 首页 > news >正文

C语言 —— 图形打印

题目1:
在这里插入图片描述

思路:
如果我们要打印一个实心正方形,其实就是一个二维数组,i控制行,j控制列,行列不需要控制,arr[i][j]直接打印星号即可。
对于空心正方形,我们只需要控制行和列的条件,当i== 0或i<n-1,j==0或j<n-1条件成立时,我们才打印星号,其他地方打印空格即可。

在这里插入图片描述

代码实现如下:

#include <stdio.h>

int main()
{
	int arr[20][20] = { 0 };
	int n = 0;
	while (scanf("%d", &n) != EOF)
	{
		for (int i = 0; i < n; i++)
		{
			for (int j = 0; j < n; j++)
			{
				//1.打印星号
				if ((i == 0) || (i == n - 1) || (j == 0) || (j == n - 1))
				{
					printf("* ");
				}
				//2.打印空格
				else
				{
					printf("  ");
				}

			}
			printf("\n");
		}
	}
	return 0;
}

题目2:
在这里插入图片描述

思路:
在这里插入图片描述
通过观察我们发现,当i == j时,打印主对角线的星号,当i + j ==n-1时,打印次对角线的星号,其他地方打印空格即可。

代码实现如下:

#include <stdio.h>

int main()
{
	int arr[20][20] = { 0 };
	int n = 0;
	while (scanf("%d", &n) != EOF)
	{
		for (int i = 0; i < n; i++)
		{
			for (int j = 0; j < n; j++)
			{
				//1.打印星号
				if ((i == j) || (i + j) == n-1)
				{
					printf("*");
				}
				//2.打印空格
				else
				{
					printf(" ");
				}
			}
			printf("\n");
		}
	}
	return 0;
}

题目3:
在这里插入图片描述

思路:我们分为上半部分和下半部分的打印:
在这里插入图片描述

#include <stdio.h>

int main()
{
	int line = 0;
	scanf("%d", &line);
	//打印上半部分
	for (int i = 0; i < line; i++)
	{
		//1.打印空格
		for (int j = 0; j < line - 1 - i; j++)
		{
			printf(" ");
		}
		//2.打印星号
		for (int j = 0; j < 2 * i + 1; j++)
		{
			printf("*");
		}
		printf("\n");
	}
	//打印下半部分
	for (int i = 0; i < line - 1; i++)
	{
		//1.打印空格
		for (int j = 0; j < i + 1; j++)
		{
			printf(" ");
		}
		//2.打印星号
		for (int j = 0; j < (line - 1 - i) * 2 - 1; j++)
		{
			printf("*");
		}
		printf("\n");
	}

	return 0;
}

相关文章:

  • python学习、开发实用文档分享
  • 【死磕Elasticsearch】从实战中来,到实战中去
  • Java SE入门及基础(35)
  • 基于 HBase Phoenix 构建实时数仓(2)—— HBase 完全分布式安装
  • plantUML使用指南之序列图
  • 98. 一台服务器能支持多少QPS
  • Spring Security
  • 代码随想录day33 Java版
  • 高可用篇_A Docker容器化技术_V 基于DockerCompose实现容器编排
  • 蓝桥杯(3.10)
  • python基础及网络爬虫
  • Langchain-Chatchat本地搭建ChatGLM3模型和提取PDF内容
  • 【自然语言处理】【大模型】BitNet:用1-bit Transformer训练LLM
  • 蓝桥杯[OJ 2928]分糖果-CPP(贪心、字典序)
  • FreeRTOS教程2 任务管理
  • 加密 / MD5算法 /盐值
  • C语言——简易版扫雷
  • 解决达梦集成 JPA 时表和字段注释注解不生效的问题
  • 2.4_4 死锁的检测和解除
  • Python 导入Excel三维坐标数据 生成三维曲面地形图(体) 5-3、线条平滑曲面且可通过面观察柱体变化(三)
  • 北京“准80后”干部兰天跨省份调任新疆生态环境厅副厅长
  • 寒武纪陈天石:公司的产品力获得了行业客户广泛认可,芯片市场有望迎来新增量需求
  • 前四月全国铁路完成固定资产投资1947亿元,同比增长5.3%
  • 宣布停火后,印控克什米尔地区再次传出爆炸声
  • 印度外交秘书:印巴军方将于12日再次对话
  • 侧记|青年为何来沪创新创业?从这一天寻找答案