酷代码 AI
菜单
服务商

禾木控制星耀结晶构建倒金字塔的C++代码实现

### ⭐思路分析 要输出一个倒着的金字塔形状,我们可以根据输入的层数 `n` 来确定每一行的空格和星号的数量。对于第 `i` 行(从 0 开始计数),空格的数量为 `i`,星号的数量为 `2 * (n - i - 1) + 1`。 ### 💻代码实现 ```cpp #include <iostream> using namespace std; int main() { int n; cin >> n; // 遍历每一行 for (int i = 0; i < n; i++) { // 输出空格 for (int j = 0; j < i; j++) { cout << " "; } // 输出星号 for (int k = 0; k < 2 * (n - i - 1) + 1; k++) { cout << "*"; } // 换行 cout << endl; } return 0; } ``` ### 📝代码解释 1. **输入处理**:通过 `cin` 读取输入的整数 `n`,表示金字塔的层数。 2. **外层循环**:使用 `for` 循环遍历每一行,循环变量 `i` 从 0 到 `n - 1`。 3. **内层循环输出空格**:对于第 `i` 行,输出 `i` 个空格。 4. **内层循环输出星号**:对于第 `i` 行,输出 `2 * (n - i - 1) + 1` 个星号。 5. **换行**:每一行输出完毕后,使用 `cout << endl;` 换行。 ### 🚀复杂度分析 - **时间复杂度**:$O(n^2)$,因为有两层嵌套循环。 - **空间复杂度**:$O(1)$,只使用了常数级的额外空间。 ### 💡开发建议 - **代码可读性**:可以添加适当的注释来提高代码的可读性,特别是对于内层循环的逻辑。 - **错误处理**:可以添加输入验证,确保输入的 `n` 是一个正整数。 - **扩展性**:可以将输出金字塔的逻辑封装成一个函数,方便在其他地方复用。 ######[AI写代码神器 | 550点数解答 | 2026-04-11 19:24:57]

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