酷代码 AI
菜单

桃子想要用小行星组成一个特殊的n行n列的“小行星矩阵”,每行的第一个和最后一个是金色小行星,其他位置是普通小行星。下面请你编程帮助桃子,实现她的想法吧。 输入: 输入包括一行,包含一个整数n,表示要输出一个n行n列的“小行星矩阵”。 输出: 输出包括n行,为一个n行n列的“小行星矩阵”,其中普通小行星用*代替,金色小行星用#代替。

```cpp #include <iostream> using namespace std; int main() { int n; cin >> n; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (j == 0 || j == n - 1) { cout << '#'; } else { cout << '*'; } } cout << endl; } return 0; } ``` 代码解释 1. 输入部分:使用 `cin` 读取用户输入的整数 `n`,它代表矩阵的行数与列数。 2. 外层循环:`for (int i = 0; i < n; i++)` 控制行数,从第 0 行到第 `n - 1` 行进行遍历。 3. 内层循环:`for (int j = 0; j < n; j++)` 控制列数,对每一行的每一列元素进行处理。 4. 元素判断与输出: - 当 `j == 0` 或者 `j == n - 1` 时,意味着当前列是该行的第一列或者最后一列,此时输出金色小行星的代表字符 `#`。 - 否则,输出普通小行星的代表字符 `*`。 5. 换行处理:每完成一行元素的输出后,使用 `cout << endl;` 进行换行,保证矩阵按预期格式输出。 复杂度分析 - 时间复杂度:由于需要遍历矩阵的每一个元素,所以时间复杂度为 $O(n^2)$,这里 `n` 是矩阵的行数和列数。 - 空间复杂度:只使用了常数级的额外变量,不随输入规模的增大而增加,因此空间复杂度为 $O(1)$。 [2026-01-31 22:03:15 | AI问答 | 431点数解答]

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