酷代码 AI
菜单
服务商

C++ 实现:输入整数 n 输出 n×n 循环数字图案及代码详解

以下是一个用 C++ 编写的程序,用于根据输入的整数 `n` 输出 `n×n` 的图案。图案的规律是从左上角开始,按从 1 到 `n` 的顺序依次填充每一行,每一行的数字循环排列。 ```cpp #include <iostream> using namespace std; int main() { int n; // 读取输入的整数 n cin >> n; // 外层循环控制行数 for (int i = 0; i < n; i++) { // 内层循环控制列数 for (int j = 0; j < n; j++) { // 计算当前位置应该输出的数字 int num = (i + j) % n + 1; // 输出数字 cout << num; // 如果不是最后一列,输出一个空格 if (j < n - 1) { cout << " "; } } // 每一行输出完后换行 cout << endl; } return 0; } ``` 代码解释: 1. 输入读取:使用 `cin` 读取用户输入的整数 `n`。 2. 外层循环:`for (int i = 0; i < n; i++)` 控制行数,循环 `n` 次,每次处理一行。 3. 内层循环:`for (int j = 0; j < n; j++)` 控制列数,循环 `n` 次,每次处理一列。 4. 数字计算:`int num = (i + j) % n + 1;` 计算当前位置应该输出的数字。通过 `(i + j) % n` 确保数字在 0 到 `n - 1` 之间循环,然后加 1 得到 1 到 `n` 的数字。 5. 输出处理:使用 `cout` 输出数字,并在数字之间添加空格,最后一行结束后换行。 复杂度分析: - 时间复杂度:$O(n^2)$,因为需要嵌套两层循环来输出 `n×n` 的图案。 - 空间复杂度:$O(1)$,只使用了常数级的额外空间。 ######[AI问答 | 521点数解答 | 2026-02-01 15:59:17]

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