酷代码 AI
菜单
服务商

使用C++实现星耀结晶金字塔的打印

### 🌟思路分析 要打印一个由星号组成的等腰三角形,关键在于分析每一行星号的数量和空格的数量与当前行数的关系。对于第 `i` 行(从 1 开始计数),空格的数量为 `n - i`,星号的数量为 `2 * i - 1`。 ### 💻代码实现 ```cpp #include <iostream> using namespace std; int main() { int n; cin >> n; for (int i = 1; i <= n; i++) { // 打印空格 for (int j = 0; j < n - i; j++) { cout << " "; } // 打印星号 for (int k = 0; k < 2 * i - 1; k++) { cout << "*"; } cout << endl; } return 0; } ``` ### 📝代码解释 1. **输入读取**:使用 `cin` 读取输入的整数 `n`,表示金字塔的层数。 2. **外层循环**:`for (int i = 1; i <= n; i++)` 控制行数,从第 1 行到第 `n` 行。 3. **内层循环(空格)**:`for (int j = 0; j < n - i; j++)` 打印每行前面的空格,空格数量为 `n - i`。 4. **内层循环(星号)**:`for (int k = 0; k < 2 * i - 1; k++)` 打印每行的星号,星号数量为 `2 * i - 1`。 5. **换行**:每行打印完星号后,使用 `cout << endl;` 换行。 ### ⚙️复杂度分析 - **时间复杂度**:$O(n^2)$,因为有两层嵌套循环。 - **空间复杂度**:$O(1)$,只使用了常数级的额外空间。 ### 💡开发建议 - **输入验证**:可以添加输入验证,确保输入的 `n` 是正整数。 - **代码复用**:可以将打印金字塔的逻辑封装成一个函数,提高代码的复用性。 ######[AI写代码神器 | 538点数解答 | 2026-04-11 19:23:45]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]