酷代码 AI
菜单
服务商

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

以下是使用 C++ 语言实现根据输入的层数 `n` 打印出由星耀结晶(用 `*` 表示)组成的金字塔的代码: ```cpp #include <iostream> using namespace std; int main() { int n; // 读取输入的层数 cin >> n; // 外层循环控制行数 for (int i = 1; i <= n; i++) { // 打印每行开头的空格 for (int j = 1; j <= n - i; j++) { cout << " "; } // 打印每行的星号 for (int k = 1; 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 = 1; j <= n - i; j++)` 用于打印每行开头的空格,空格数量随着行数的增加而减少。 4. **星号打印**:`for (int k = 1; k <= 2 * i - 1; k++)` 用于打印每行的星号,星号数量随着行数的增加而增加,第 `i` 行的星号数量为 `2 * i - 1`。 5. **换行**:每行打印完星号后,使用 `cout << endl;` 进行换行。 ### 复杂度分析 - **时间复杂度**:$O(n^2)$,因为有两层嵌套循环。 - **空间复杂度**:$O(1)$,只使用了常数级的额外空间。 ######[AI问答 | 476点数解答 | 2026-04-11 20:55:25]

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