酷代码 AI
菜单
服务商
DeepSeek字节豆包
更多选项

竖条纹小行星矩阵C++生成代码实现

好的,这个问题的核心是根据行数和列数生成一个“竖条纹”矩阵。在“竖条纹”矩阵中,每一列通常具有相同的字符或图案,而不同列之间则形成交替的竖条样式。最常见的样式是奇数列和偶数列使用不同的字符。 以下是C++的解决方案,我们使用空格和星号(或您指定的任何两个符号)来形成交替的竖条纹。 ```cpp #include <iostream> #include <vector> /** * 生成并输出“竖条纹小行星矩阵” * * @param n 矩阵的行数 * @param m 矩阵的列数 */ void printStripedMatrix(int n, int m) { // 确定每一列的字符:奇数列用 '*', 偶数列用 ' ' (空格) // 注意:在编程中,通常列索引从0开始。为了形成交替,我们可以让偶数列(0, 2, 4...)显示 '*',奇数列(1, 3, 5...)显示 ' '。 // 或者反过来,按题目要求,这里我们定义列索引为偶数时显示 '*', 索引为奇数时显示 ' '。 for (int i = 0; i < n; ++i) { for (int j = 0; j < m; ++j) { // 列索引 (j) 为偶数时输出 '*', 奇数时输出 ' ' if (j % 2 == 0) { std::cout << "*"; } else { std::cout << " "; } // 在每列后面添加一个空格,使矩阵更整齐(可选) // 这里为了视觉上更清晰,不添加额外空格,因为'*'和' '本身体现了条纹。 // 如果希望每个元素之间有间隔,可以取消下一行的 // std::cout << " "; } // 每一行结束后换行 std::cout << std::endl; } } int main() { int n, m; std::cout << "请输入行数 n 和列数 m (用空格隔开): "; std::cin >> n >> m; std::cout << "\n生成的竖条纹小行星矩阵如下:" << std::endl; printStripedMatrix(n, m); return 0; } ``` ### 🔧 代码关键点说明 1. **逻辑核心**:通过 `j % 2 == 0` 判断列索引的奇偶性。 * 当列为偶数(索引 0, 2, 4...)时,输出 `*`。 * 当列为奇数(索引 1, 3, 5...)时,输出空格 ` `。 2. **结果展示**:生成的矩阵会呈现交替的垂直条纹。例如,一个 5行x10列 的矩阵输出效果如下: ``` * * * * * * * * * * * * * * * * * * * * * * * * * ``` 注意,因为两个字符本身的宽度,这里的 `*` 和 ` ` 已经形成了明暗相间的垂直条带。 ### ⚙️ 开发注意要点 * **字符选择**:可以直接修改 `printStripedMatrix` 函数中的 `'*'` 和 `' '` 为其他任何字符(如 `'X'` 和 `'O'`),以改变条纹的视觉效果。 * **边界处理**:当 `n` 或 `m` 为0时,程序不会输出任何内容,这是合理的。 * **性能**:双重循环的时间复杂度为 O(n*m),对于常规的矩阵大小来说非常高效。 ######[AI问答 | 828点数解答 | 2026-06-13 21:18:09]

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