[HD2006.X1] 打印图形(菱形换壳)——海淀区赛

news/2024/10/23 3:40:39/

题目描述

由键盘输入 N N N ,按一定的规律打印图形(见输出样例)。

输入格式

一个整数 N N N(其中 3 ≤ N ≤ 21 3≤N≤21 3N21 ), N N N 为奇数。

输出格式

如题中所描述的图形

样例 #1

样例输入 #1

7

样例输出 #1

   $$*$$***$
$*****$$***$$*$$

答题思路:

这道题可以把他看成三个部分:
1.正三角

   $$*$$***$

2.中间最大的

$*****$

3.倒三角

 $***$$*$$

所以我们要逐个击破,我们先看正三角:
通过观察可以发现正三角第一个有 n ÷ 2 n÷2 n÷2 个空格,而且第一个没有*,所以要特殊处理,其他的事空格每次-1,*每次+2,所以可得代码如下:

	int sum=n/2,k=1;for(int i=1;i<=n/2;i++){if(i==1)	//第一个特殊处理{for(int j=1;j<=sum;j++){printf(" ");}printf("$");sum-=1;}else{for(int j=1;j<=sum;j++){printf(" ");}printf("$");for(int j=1;j<=k;j++){printf("*");}printf("$");sum-=1;k+=2;}printf("\n");}

后面就很简单了,因为是倒三角所以倒三角第一个就是中间,只要是反着就行了,全部代码如下:

#include <bits/stdc++.h>
using namespace std;
int main()
{int n;scanf("%d",&n);int sum=n/2,k=1;for(int i=1;i<=n/2;i++){if(i==1){for(int j=1;j<=sum;j++){printf(" ");}printf("$");sum-=1;}else{for(int j=1;j<=sum;j++){printf(" ");}printf("$");for(int j=1;j<=k;j++){printf("*");}printf("$");sum-=1;k+=2;}printf("\n");}for(int i=n/2+1;i>=1;i--){if(i==1){for(int j=1;j<=sum;j++){printf(" ");}printf("$");sum-=1;}else{for(int j=1;j<=sum;j++){printf(" ");}printf("$");for(int j=1;j<=k;j++){printf("*");}printf("$");sum+=1;k-=2;}printf("\n");}return 0;
}

http://www.ppmy.cn/news/1130771.html

相关文章

FFmpeg音视频复用器----为啥大多数视频只有一个视频流和一个音频流

问题&#xff1a;为啥大多数视频只有一个视频流和一个音频流&#xff1f; 回答&#xff1a; 大多数视频文件通常只包含一个视频流和一个音频流&#xff0c;这是因为这种组合足以满足一般的多媒体需求&#xff0c;并且减少了复杂性和文件大小。以下是一些解释为什么大多数视频文…

lwIP 开发指南(中)

目录 ARP 协议ARP 协议的简介ARP 协议的工作流程(获取目标设备 MAC 地址步骤)ARP 缓存表的超时处理 APR 报文的报文结构ARP 协议层的接收与发送原理解析发送ARP 请求数据包接收ARP 应答数据包 IP 协议IP 协议的简介IP 数据报IP 数据报结构IP 数据报的分片解析IP 数据报的分片重…

【操作系统】[linux]基本指令-快速上手

在Linux中&#xff0c;一切皆文件。文件 内容 属性。 一、ls 1.语法&#xff1a; ls [选项][目录或文件] 2.功能&#xff1a; 对于目录&#xff0c;该命令列出该目录下的所有子目录与文件。对于文件&#xff0c;将列出文件名以及其他信息 3.常用选项 -a 列出目录下的所…

1600*E. Kolya and Movie Theatre(贪心优先队列规律)

Kolya and Movie Theatre - 洛谷 Problem - 1862E - Codeforces 解析&#xff1a; 可以观察到每次看电影所减少的舒畅值都和前一次有关&#xff0c;这样的话&#xff0c;可以发现减少的 d 只和最后一次看电影的时间有关。 所以枚举最后一次看电影的时间&#xff0c;并且维护一…

webpack:详解cache模块常用配置

背景 持久化缓存算得上是 Webpack 5 最令人振奋的特性之一&#xff0c;它能够将首次构建结果持久化到本地文件系统&#xff0c;在下次执行构建时跳过一系列解析、链接、编译等非常消耗性能的操作&#xff0c;直接复用 module、chunk 的构建结果。 cache 会在开发模式被设置成…

【Vue】数据监视输入绑定

hello&#xff0c;我是小索奇&#xff0c;精心制作的Vue系列持续发放&#xff0c;涵盖大量的经验和示例&#xff0c;如有需要&#xff0c;可以收藏哈 本章给大家讲解的是数据监视&#xff0c;前面的章节已经更新完毕&#xff0c;后面的章节持续输出&#xff0c;有任何问题都可以…

【数据库——MySQL】(13)过程式对象程序设计——存储函数、错误处理以及事务管理

目录 1. 存储函数2. 存储函数的应用3. 错误处理4. 抛出异常5. 事务处理6. 事务隔离级7. 应用实例参考书籍 1. 存储函数 要 创建 存储函数&#xff0c;需要用到 CREATE 语句&#xff1a; CREATE FUNCTION 存储函数名([参数名 类型, ...])RETURNS 类型[存储函数体]注意&#xff1…

深度解读F5:从企业级负载均衡到云原生应用服务

上世纪九十年代&#xff0c;Internet 的快速发展催生了大量在线网站&#xff0c;Web 访问量迅速提升。在互联网泡沫破灭以前&#xff0c;这个领域基本是围绕如何对 Web 网站进行负载均衡与优化。因而在早期&#xff0c;也会有“Web 交换机”的说法。从1997年 F5 发布了 BIG-IP …