C++实现武器防御矩阵的副对角线填充
以下是完成该任务的 C++ 代码: ```cpp #include <iostream> using namespace std; int a[6][6]; // 从下标 1 开始使用,最大为 5x5 矩阵,所以定义 6x6 数组 int main() { int n; cin >> n; // 将编号从 1 开始依次填充到副对角线 for (int i = 1; i <= n; i++) { a[i][n - i + 1] = i; } // 输出矩阵,从下标 1 开始 for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { if (j > 1) cout << " "; cout << a[i][j]; } cout << endl; } return 0; } ``` ### 代码解释: 1. **数组定义**:`int a[6][6];` 定义了一个 6x6 的二维数组,因为矩阵最大为 5x5,同时为了从下标 1 开始使用,所以定义为 6x6。 2. **副对角线元素填充**: - 副对角线上元素的特点是 `行号 + 列号 = n + 1`。 - 通过 `for (int i = 1; i <= n; i++)` 循环,`a[i][n - i + 1] = i;` 可以将编号从 1 到 n 的武器依次填充到副对角线上。 3. **矩阵输出**: - 使用两层嵌套的 `for` 循环遍历矩阵,外层循环控制行,内层循环控制列。 - `if (j > 1) cout << " ";` 用于在元素之间添加空格,`cout << a[i][j];` 输出矩阵元素。 - 每行输出结束后,使用 `cout << endl;` 换行。 ### 开发建议: - **边界检查**:在实际应用中,可以添加对输入 `n` 的边界检查,确保 `n` 在 1 到 5 之间。 - **代码复用**:如果需要多次使用该功能,可以将矩阵填充和输出的代码封装成函数,提高代码的复用性。 - **错误处理**:可以添加对输入异常的处理,例如输入不是整数的情况。 ######[AI写代码神器 | 579点数解答 | 2026-04-10 20:16:00]
- C++ 实现:轻松计算两个矩阵的乘法并输出结果(字节豆包 | 381点数解答 | 2025-12-03 19:20:23)128
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)355
- C++实现九九乘法表输出及代码详细解释(字节豆包 | 412点数解答 | 2026-02-06 22:10:32)72
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)327
- Python 实现浮点数按特定格式一行输出,示例代码详解!(阿里通义 | 396点数解答 | 2024-10-31 14:40:38)169
- Python:巧妙利用字符串格式化输出指定格式的两个浮点数(讯飞星火 | 427点数解答 | 2024-10-31 14:42:39)204
- Python 实现 DES 加密算法编程实验:从原理到单步调试全解析(字节豆包 | 4096点数解答 | 2025-11-09 22:06:30)78
- C++利用双重循环及格式控制输出标准九九乘法表(字节豆包 | 233点数解答 | 2026-02-05 21:38:27)28
- Python 实现:根据规则判定 2^n×2^n 方阵中作弊者的赦免命运(字节豆包 | 247点数解答 | 2024-11-03 10:30:46)200
- C语言实现:解决2ⁿ×2ⁿ方阵作弊者赦免问题(字节豆包 | 370点数解答 | 2024-11-03 10:31:31)218
- C语言递归破解2ⁿ×2ⁿ作弊者赦免难题,输出01命运矩阵!(百度文心 | 792点数解答 | 2024-11-03 10:36:04)287
- Python 实现:计算用户输入 n x n 矩阵边界元素之和(GPT | 319点数解答 | 2024-11-21 00:16:05)141