酷代码 AI
菜单
服务商

C++实现竖条纹小行星矩阵生成算法

# 🚀 “竖条纹小行星矩阵” 实现方案 根据题目描述,我们需要生成一个 n 行 m 列的矩阵,其特点是每列交替显示 `*` 和 `#` 字符,且每一行的模式相同。 ## 💡 核心思路 矩阵的规律为: - 第1列(索引0)显示 `*` - 第2列(索引1)显示 `#` - 第3列(索引2)显示 `*` - 依此类推... 即:当列索引为偶数时输出 `*`,为奇数时输出 `#`。 ## 🔧 C++ 代码实现 ```cpp #include <iostream> using namespace std; int main() { int n, m; cin >> n >> m; // 外层循环控制行数 for (int i = 0; i < n; i++) { // 内层循环控制列数 for (int j = 0; j < m; j++) { // 列索引为偶数输出 '*',奇数输出 '#' if (j % 2 == 0) { cout << '*'; } else { cout << '#'; } } // 每行结束后换行 cout << endl; } return 0; } ``` ## 📊 代码说明 | 组成部分 | 作用 | |---------|------| | `cin >> n >> m` | 读取输入的行数和列数 | | `for (int i = 0; i < n; i++)` | 外层循环,控制生成 n 行 | | `for (int j = 0; j < m; j++)` | 内层循环,控制每行生成 m 个字符 | | `j % 2 == 0` | 判断列索引是否为偶数,决定输出 `*` 还是 `#` | | `cout << endl` | 每行结束后换行 | ## ⚡ 复杂度分析 - **时间复杂度**:O(n×m),需要遍历矩阵中的每个元素 - **空间复杂度**:O(1),只使用了常量级别的额外空间 ## 🎯 输入输出示例 输入: ``` 5 5 ``` 输出: ``` *#*#* *#*#* *#*#* *#*#* *#*#* ``` ######[AI问答 | 530点数解答 | 2026-05-30 11:01:53]

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