酷代码 AI
菜单
服务商

C++实现等腰三角形输出及开发建议

### 🍃思路分析 要输出一个等腰三角形,我们可以根据输入的行数,逐行打印出相应的空格和星号。对于每一行,需要计算出该行前面的空格数量和星号数量。空格数量随着行数的增加而减少,星号数量随着行数的增加而增加。 ### 💻代码实现 ```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++)`打印当前行前面的空格,空格数量为`n - i`。 4. **星号打印**:`for (int k = 1; k <= 2 * i - 1; k++)`打印当前行的星号,星号数量为`2 * i - 1`。 5. **换行**:`cout << endl;`在每一行的星号打印完后换行。 ### ⚙️复杂度分析 - **时间复杂度**:$O(n^2)$,因为有两层嵌套循环。 - **空间复杂度**:$O(1)$,只使用了常数级的额外空间。 ### 🚀开发建议 - **边界检查**:可以添加对输入的检查,确保输入的`n`是正整数。例如: ```cpp if (n <= 0) { cout << "输入必须是正整数。" << endl; return 1; } ``` - **代码复用**:可以将打印等腰三角形的逻辑封装成一个函数,方便在其他地方复用。例如: ```cpp void printTriangle(int 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; } } int main() { int n; cin >> n; printTriangle(n); return 0; } ``` ### 📚学习资源 - [C++ 官方文档](https://en.cppreference.com/w/):提供了 C++ 语言的详细文档和示例。 - [《C++ Primer》](https://book.douban.com/subject/25708119/):一本经典的 C++ 入门书籍,适合初学者。 ######[AI写代码神器 | 787点数解答 | 2026-04-11 19:48:53]

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