C++ 实现用输入数字构建直角三角形及开发建议
### 📝需求分析 本题要求根据输入的一个 0 到 9 之间的整数 `x`,构建一个底边长为 5 个数字、高为 3 个数字的直角三角形,三角形的每一个位置都由输入的数字 `x` 填充。 ### 💻代码实现 ```cpp #include <iostream> #include <string> using namespace std; int main() { int x; cin >> x; // 将整数 x 转换为字符串 string numStr = to_string(x); for (int i = 1; i <= 3; ++i) { for (int j = 0; j < 2 * i - 1; ++j) { cout << numStr; } cout << endl; } return 0; } ``` ### 🧐代码解释 1. **输入读取**:使用 `cin` 读取用户输入的整数 `x`。 2. **数字转换**:使用 `to_string` 函数将整数 `x` 转换为字符串 `numStr`,方便后续输出。 3. **三角形构建**: - 使用外层循环 `for (int i = 1; i <= 3; ++i)` 控制三角形的行数,共 3 行。 - 内层循环 `for (int j = 0; j < 2 * i - 1; ++j)` 控制每行输出的数字个数,第 `i` 行输出 `2 * i - 1` 个数字。 - 每次内层循环结束后,使用 `cout << endl;` 换行。 ### 🚀进阶使用指南 - **性能优化**:由于输入范围较小,代码的性能已经足够好,不需要进行额外的优化。 - **错误处理**:可以添加输入验证,确保输入的数字在 0 到 9 之间。例如: ```cpp #include <iostream> #include <string> using namespace std; int main() { int x; cin >> x; if (x < 0 || x >= 10) { cout << "输入的数字必须在 0 到 9 之间。" << endl; return 1; } string numStr = to_string(x); for (int i = 1; i <= 3; ++i) { for (int j = 0; j < 2 * i - 1; ++j) { cout << numStr; } cout << endl; } return 0; } ``` - **扩展功能**:可以修改代码,让用户输入三角形的高度和底边长度,动态构建不同大小的直角三角形。 ### 📚学习资源 - **C++ 官方文档**:https://en.cppreference.com/w/ - **《C++ Primer》**:经典的 C++ 学习书籍,适合初学者和有一定基础的开发者。 ### 💡开发建议 - **代码注释**:在代码中添加适当的注释,提高代码的可读性。 - **模块化设计**:将功能封装成函数,提高代码的可维护性和复用性。例如,可以将构建三角形的逻辑封装成一个函数: ```cpp #include <iostream> #include <string> using namespace std; void printTriangle(int x) { string numStr = to_string(x); for (int i = 1; i <= 3; ++i) { for (int j = 0; j < 2 * i - 1; ++j) { cout << numStr; } cout << endl; } } int main() { int x; cin >> x; printTriangle(x); return 0; } ``` ######[AI写代码神器 | 895点数解答 | 2026-05-10 14:55:52]
- C++ 实现:精准统计给定范围 [L, R] 内数字 2 出现的次数及代码详解(字节豆包 | 401点数解答 | 2026-02-05 21:17:05)70
- C++实现:统计[L, R]范围内数字2出现的次数及代码详解(字节豆包 | 489点数解答 | 2026-02-07 17:12:26)87
- 计算区间 n 到 m 中数字 x 出现次数的 Python 实现与详解(字节豆包 | 289点数解答 | 2025-12-07 17:14:59)103
- Python 实现:计算区间 n 到 m 中数字 x 出现的次数(字节豆包 | 322点数解答 | 2025-12-13 21:37:08)106
- Python:用正则表达式从含多种字符的字符串中提取英文、数字和中文单词(GPT | 522点数解答 | 2024-05-31 19:05:27)342
- Python:用正则表达式结合 split 思路提取一行字符串中的英文、数字和中文单词 (GPT | 399点数解答 | 2024-05-31 19:07:31)341
- 繁体字编码代码修改:人物名字合法性验证函数转简体版(字节豆包 | 325点数解答 | 2024-10-21 18:57:01)314
- C语言:输入三边求三角形面积,区分普通、直角、等边及非三角形情况 (字节豆包 | 314点数解答 | 2024-10-26 09:13:03)260
- C 语言:输入三数判断能否构成等腰、等边、直角三角形(字节豆包 | 361点数解答 | 2025-05-28 11:14:47)184
- C++ 实现根据三边判断三角形类型(字节豆包 | 568点数解答 | 2026-03-14 20:56:16)46
- Python三角形类型判定:等边、等腰、直角三角形实现与要点解析(DeepSeek | 1296点数解答 | 2026-04-24 19:31:23)13
- C++实现计算字符矩阵中十字图形个数(字节豆包 | 333点数解答 | 2026-03-14 19:46:38)49