C++实现构造4×4空心正方形的代码及解析
### 🍃思路分析 本题要求根据输入的字符构造一个 4×4 的空心正方形。空心正方形的特点是四条边的字符为输入字符,内部为空格。我们可以通过循环来控制输出的行数和列数,根据当前位置判断输出字符还是空格。 ### 💻代码实现 ```cpp #include <iostream> using namespace std; int main() { char ch; // 读取输入的字符 cin >> ch; // 输出第一行,全部为输入字符 for (int i = 0; i < 4; i++) { cout << ch; } cout << endl; // 输出中间两行,每行第一个和最后一个为输入字符,中间为空格 for (int i = 0; i < 2; i++) { cout << ch; for (int j = 0; j < 2; j++) { cout << " "; } cout << ch << endl; } // 输出最后一行,全部为输入字符 for (int i = 0; i < 4; i++) { cout << ch; } cout << endl; return 0; } ``` ### 🔍代码解释 1. **输入字符**:使用`cin`读取输入的字符,并存储在变量`ch`中。 2. **输出第一行**:使用`for`循环输出 4 个输入字符,然后换行。 3. **输出中间两行**:使用外层`for`循环控制行数,内层`for`循环控制列数。每行第一个和最后一个位置输出输入字符,中间两个位置输出空格。 4. **输出最后一行**:使用`for`循环输出 4 个输入字符,然后换行。 ### 🚀复杂度分析 - **时间复杂度**:$O(1)$,因为输出的行数和列数是固定的,不随输入的变化而变化。 - **空间复杂度**:$O(1)$,只使用了常数级的额外空间。 ### 💡开发建议 - **代码复用**:如果需要输出不同大小的空心正方形,可以将输出空心正方形的逻辑封装成一个函数,传入边长和字符作为参数。 - **错误处理**:在实际应用中,可以添加输入验证,确保输入的是有效的字符。 ######[AI写代码神器 | 555点数解答 | 2026-07-10 23:54:45]
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)516
- Golang开发:解析JSON数据时数值默认类型及示例解析(百度文心 | 393点数解答 | 2023-11-09 18:13:06)364
- SQL Working Areas Sizing: Manual vs. Automatic Policy - A Comprehensive Analysis(阿里通义 | 530点数解答 | 2024-05-13 10:55:58)386
- Pascal 实现:输出数字组成的 n*n 正方形及代码详解(字节豆包 | 443点数解答 | 2025-12-07 17:08:31)70
- C语言实现:输出第i列由数字i组成的n*n正方形及详细解析(字节豆包 | 344点数解答 | 2025-12-07 17:09:34)81
- Python:根据输入边长生成数字组成的正方形图案(字节豆包 | 216点数解答 | 2025-12-13 21:33:12)52
- Python实现生成第i列由数字i组成的n×n正方形及代码详解(字节豆包 | 230点数解答 | 2025-12-13 21:33:47)82
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)435
- 用 JS 中 for 循环实现 1 到 100 相加并输出结果到页面的完整代码 ( | 240点数解答 | 2024-05-20 22:11:29)569
- 用 JS 的 while 循环实现 1 到 100 相加并输出到页面的代码揭秘( | 47点数解答 | 2024-05-20 22:16:48)440
- iOS开发:手把手教你完整实现代理模式,含声明与实现步骤!(阿里通义 | 268点数解答 | 2023-11-08 00:39:55)321
- JavaScript 开发:用 Animation 实现自定义动画的简易教程 (阿里通义 | 333点数解答 | 2023-11-09 01:50:07)299