酷代码 AI
菜单
服务商

C++实现输出指定行数的等腰三角形

### 🍭实现思路 要输出一个 `n` 行的等腰三角形,我们可以通过循环来控制行数和每行的字符输出。对于每一行,需要先输出一定数量的空格,再输出一定数量的星号。 ### 💻代码示例 ```cpp #include <iostream> using namespace std; int main() { int n; cout << "请输入一个整数 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)$,在当前需求下已经是最优解,无需进一步优化。 - **错误处理**:可以添加对用户输入的检查,确保输入的 `n` 是正整数。例如: ```cpp #include <iostream> using namespace std; int main() { int n; cout << "请输入一个整数 n: "; while (!(cin >> n) || n <= 0) { cin.clear(); cin.ignore(numeric_limits<streamsize>::max(), '\n'); cout << "输入无效,请输入一个正整数: "; } 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; } ``` - **扩展功能**:可以将输出的字符改为用户指定的字符,或者将等腰三角形改为其他形状。 ### 📚学习资源 - C++ 官方文档:https://en.cppreference.com/w/ - 《C++ Primer》:经典的 C++ 学习书籍,适合初学者和有一定基础的开发者。 ### 💡开发建议 - **代码注释**:在代码中添加必要的注释,提高代码的可读性。 - **模块化**:将输出等腰三角形的逻辑封装成一个函数,提高代码的复用性。 ######[AI写代码神器 | 793点数解答 | 2026-05-18 21:01:54]

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