【C++】使用“*”分别输出不同形状

问题描述

使用“*”分别输出以下形状。

1、根据输入的整数 n(例如 n=7),输出一个如下图所示的 n 行三角形:

2、根据输入的整数 n(例如 n=6),输出一个如下图所示的 n 行三角形:

 

 3、根据输入的整数 n(例如 n=7),输出一个如下图所示的 n 行三角形:


实现程序

代码如下(示例)1:

#include <iostrea
### 使用 C++ 编写程序输出形状图案 #### 输出钻石菱形图效果 对于想要使用C++来创建特定的形状图案,比如钻石图形,可以利用嵌套`for`循环结构。考虑到循环边界以及变量作用域的问题[^2],下面提供了一个简单的例子用于打印一个由星号(*)组成的菱形。 ```cpp #include <iostream> using namespace std; int main() { int n; cout << "Enter the number of rows for half diamond: "; cin >> n; // Upper part including middle row for (int i = 0; i <= n; ++i) { for (int j = 1; j <= n - i; ++j) cout << " "; // Print spaces before stars for (int k = 1; k <= 2 * i - 1; ++k) cout << "*"; // Print stars cout << endl; } // Lower part excluding middle row for (int i = n - 1; i >= 1; --i) { for (int j = 1; j <= n - i; ++j) cout << " "; // Print spaces before stars for (int k = 1; k <= 2 * i - 1; ++k) cout << "*"; // Print stars cout << endl; } return 0; } ``` 这段代码通过调整空格和星号的数量实现了上半部分逐渐增加宽度而下半部分则减少的效果,从而形成完整的菱形轮廓。 #### 关于循环边界的注意事项 值得注意的是,在构建此类模式时,应当格外关注循环终止条件的选择以防止意外的结果。例如,在上述示例中,内部两个`for`循环分别负责处理每行前面的空间数量与该行内的星号数目;外部一对`for`循环控制着整体的高度变化趋势——先是增长至顶点再逐步缩减回起点位置。 此外,还需留意到任何可能影响最终显示形态的因素,像字符串拼接操作可能导致的数据冗余等问题都应在编码阶段予以充分考虑并妥善解决。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值