1027 打印沙漏(c++实现)

本文介绍了如何使用C++编程语言实现打印沙漏的效果。通过分析思路,利用字符串数组存储每一行的字符,并根据层数逐行递增插入空格和字符。最终,代码展示了一种实现方式,注重输出格式的控制。
摘要由CSDN通过智能技术生成

原题描述


思路分析

  1. 对于输入的n=1,和n<7可单独处理。
  2. 对于n>=7,用字符串数组s[100]来存储每一行的字符串。从第三个字符开始存储。
  3. len表示为从第一层(三个字符)到最高层一共有几行。s数组存储每一行的字符串。比如s[0]="***", s[1]="*****"
  4. 根据逐行递增两个字符串,可知最高层一共有2*len+1个字符,那么整个沙漏一共有2*{len*[3+(2*len+1)]/2}+1 = len*(2*len+4)+1个字符串被使用。
  5. 注意输出格式,用cnt来统计每一层的空格数量,具体实现请看代码。

代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
   
    int n, sum = 1, j = 1, flag = 0, len = 0;
    string c;
    cin >> n >> c
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值