C++输出等腰直角三角形:自定义星号打印函数详解
好的,这是一个非常经典的C++编程入门练习。核心是 **定义一个输出指定数量星号的函数**,然后调用它三次,分别输出1、2、3个星号,从而形成直角边长为3的等腰直角三角形。 下面我将为你提供完整的实现代码、详细的代码解释以及一些开发上的建议。 ## 💻 完整代码实现 ```cpp #include <iostream> // 函数:输出 n 个星号,并在最后换行 void printStars(int n) { for (int i = 0; i < n; i++) { std::cout << '*'; } std::cout << std::endl; // 换行 } int main() { // 调用函数三次,输出直角边长为 3 的等腰直角三角形 printStars(1); printStars(2); printStars(3); return 0; } ``` ## 📝 代码详解 ### 1️⃣ 引入头文件 ```cpp #include <iostream> ``` - 这是C++标准输入输出流库,`std::cout` 和 `std::endl` 都需要它。 ### 2️⃣ 定义 `printStars` 函数 ```cpp void printStars(int n) { for (int i = 0; i < n; i++) { std::cout << '*'; } std::cout << std::endl; } ``` - **函数签名**:`void printStars(int n)` - `void` 表示该函数没有返回值。 - `int n` 是参数,表示要打印的星号数量。 - **循环体**:`for (int i = 0; i < n; i++)` 循环 `n` 次,每次输出一个星号 `'*'`。 - **换行**:循环结束后,使用 `std::endl` 输出一个换行符,使下一行输出从新行开始。 ### 3️⃣ `main` 函数 ```cpp int main() { printStars(1); printStars(2); printStars(3); return 0; } ``` - 依次调用 `printStars` 函数,分别传入1、2、3,这样就会分别输出1个、2个、3个星号,形成要求的直角三角形。 - `return 0;` 表示程序正常结束。 ### 📐 输出结果分析 运行程序后,控制台会显示: ``` * ** *** ``` - 第一行:1个星号 - 第二行:2个星号 - 第三行:3个星号 - 这正好是**直角边长为3的等腰直角三角形**(直角在左上角)。 ## 🚀 开发建议与扩展思路 1. **使用 `using namespace std;` ?** - 对于小型练习,可以写 `using namespace std;` 简化代码(省去 `std::` 前缀)。但在大型项目中,为了避免命名冲突,**推荐保留 `std::`**。 2. **改为输出其他图形** - 你可以修改 `printStars` 函数,比如让它先输出空格,再输出星号,就可以实现**居中的等腰三角形**。 3. **用户输入边长** - 如果要让用户指定直角边的长度,可以使用 `std::cin` 读取: ```cpp int n; std::cout << "请输入直角边长: "; std::cin >> n; for (int i = 1; i <= n; i++) { printStars(i); } ``` 4. **性能考虑** - 对于打印少量星号,`char` 输出的效率已经足够高。如果需要打印海量字符,可以先将字符拼接成字符串再一次性输出,减少IO次数。 5. **代码可读性** - 函数命名 `printStars` 清晰明了,参数名 `n` 也符合数学直觉,这是好习惯。 6. **错误处理** - 如果传入的 `n` 是负数,程序会输出空行(因为循环条件 `i < n` 不成立)。你可以加一个 `if (n <= 0) return;` 来提前结束函数。 --- ######[AI写代码神器 | 932点数解答 | 2026-07-10 21:25:55]
- C 语言实现链表操作:创建、输出、删除及插入功能详解(字节豆包 | 534点数解答 | 2024-12-09 21:33:48)402
- C语言实现链表创建、输出、删除与插入操作的完整代码及注意要点(字节豆包 | 609点数解答 | 2024-12-18 12:18:21)414
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)516
- C++实现:输入整数打印 0 到该整数间所有整数及代码详解(字节豆包 | 228点数解答 | 2025-12-12 18:22:24)98
- Python 实现:打印 -n 到 n 范围内所有整数的代码及详解(字节豆包 | 232点数解答 | 2025-12-07 12:30:06)128
- Python代码:轻松打印 0 到输入整数之间的所有整数(字节豆包 | 126点数解答 | 2025-12-12 18:21:54)93
- Python实现:打印0到输入整数间所有整数的代码解析(字节豆包 | 264点数解答 | 2025-12-12 19:37:01)87
- Python 实现:打印 -n 到 n 范围内所有整数的代码及详解(字节豆包 | 214点数解答 | 2025-12-12 19:40:30)89
- Python实现:打印 0 到 n 之间所有整数的高效方法(讯飞星火 | 569点数解答 | 2025-12-17 12:23:47)104
- Python实现:打印从 -n 到 n 范围内所有整数的代码详解(讯飞星火 | 660点数解答 | 2025-12-17 17:30:53)74
- Android开发自定义 Handler :七大策略有效规避内存泄漏!(百度文心 | 526点数解答 | 2023-11-09 17:34:21)334
- 深度揭秘 Oracle Workarea Size Policy:参数调优助力数据库性能飞升(阿里通义 | 372点数解答 | 2024-05-13 10:54:45)309