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]
- C++ 实现三角形类型判断:小心三边条件、判断顺序与整数溢出!(DeepSeek | 214点数解答 | 2025-08-24 17:31:55)211
- C++ 实现:根据三边长度判断三角形类型(附代码及详细解释)(字节豆包 | 437点数解答 | 2026-01-24 20:19:56)54
- C++ 实现根据三边判断三角形类型(字节豆包 | 568点数解答 | 2026-03-14 20:56:16)25
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)354
- 三角形判断程序:小心三点,精准判定三边类型!(字节豆包 | 213点数解答 | 2025-10-03 20:24:40)107
- C++ 实现三角形类型判断:条件判断与数据合法性处理要点(字节豆包 | 324点数解答 | 2025-10-03 20:25:07)213
- C++:根据三边长度判断三角形类型(含等边、等腰)(字节豆包 | 189点数解答 | 2025-12-27 20:42:17)42
- C++程序:根据三边长度判断三角形类型(字节豆包 | 188点数解答 | 2026-02-03 14:02:35)60
- 三角形类型判断代码的错误修正(字节豆包 | 453点数解答 | 2026-02-14 21:33:30)39
- 代码改错:精确判断三条边构成的三角形类型(字节豆包 | 291点数解答 | 2026-02-25 19:15:56)16
- C++实现根据三边长度判断三角形类型(字节豆包 | 361点数解答 | 2026-03-14 19:51:22)8
- C++实现三角形类型判断及开发建议(字节豆包 | 638点数解答 | 2026-03-27 22:08:37)17