原题描述
思路分析
- 对于输入的
n=1,和n<7可单独处理。- 对于
n>=7,用字符串数组s[100]来存储每一行的字符串。从第三个字符开始存储。- 用
len表示为从第一层(三个字符)到最高层一共有几行。s数组存储每一行的字符串。比如s[0]="***", s[1]="*****"- 根据逐行递增两个字符串,可知最高层一共有
2*len+1个字符,那么整个沙漏一共有2*{len*[3+(2*len+1)]/2}+1 = len*(2*len+4)+1个字符串被使用。- 注意输出格式,用
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;
if

本文介绍了如何使用C++编程语言实现打印沙漏的效果。通过分析思路,利用字符串数组存储每一行的字符,并根据层数逐行递增插入空格和字符。最终,代码展示了一种实现方式,注重输出格式的控制。
最低0.47元/天 解锁文章
1505

被折叠的 条评论
为什么被折叠?



