酷代码 AI
菜单
服务商

c++题目描述 烛龙战队想要用小行星组成一个特殊的 n n 行 n n 列的“小行星矩阵”,每行的第 m m 个是金色小行星,其他位置是普通小行星。下面请你编程帮助烛龙战队,输出小行星矩阵图案吧。 输入格式 输入为一行,包含两个整数 n n 和 m m,之间用空格隔开。 表示要输出一个 n n 行 n n 列的“小行星矩阵",每行小行星矩阵的第 m m 个是金色小行星。 输出格式 输出包括 n n 行,为一个 n n 行 n n 列的“小行星矩阵”,其中普通小行星用 ∗ ∗ 号代替,金色小行星用 # 号代替。

以下是解决该问题的 C++ 代码: ```cpp #include <iostream> using namespace std; int main() { int n, m; // 读取输入的 n 和 m cin >> n >> m; // 外层循环控制行数 for (int i = 0; i < n; i++) { // 内层循环控制列数 for (int j = 1; j <= n; j++) { if (j == m) { // 如果是第 m 列,输出金色小行星 cout << "#"; } else { // 否则输出普通小行星 cout << "*"; } } // 每行输出完后换行 cout << endl; } return 0; } ``` 代码解释: 1. 输入读取:使用 `cin` 读取输入的 `n` 和 `m`,分别表示矩阵的行数和金色小行星所在的列数。 2. 外层循环:使用 `for` 循环控制行数,循环变量 `i` 从 0 到 `n - 1`。 3. 内层循环:使用 `for` 循环控制列数,循环变量 `j` 从 1 到 `n`。 4. 判断输出:在内层循环中,使用 `if` 语句判断当前列是否为第 `m` 列。如果是,则输出 `#` 表示金色小行星;否则,输出 `*` 表示普通小行星。 5. 换行:每行输出完后,使用 `cout << endl;` 换行。 复杂度分析: - 时间复杂度:$O(n^2)$,因为需要遍历矩阵的每一个元素。 - 空间复杂度:$O(1)$,只使用了常数级的额外空间。 [2026-01-16 20:41:40 | AI问答 | 424点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多