C++矩阵列交换实现及输入输出细节解析
## 💡 解题思路 交换矩阵中两列的值,本质是对每一行执行一次两元素交换。读取原矩阵后,针对所有行将下标 `x-1` 和 `y-1`(因为输入列号从1开始)的元素进行 `swap`,最后逐行输出即可。 ## ⌨️ C++ 代码实现 ```cpp #include <iostream> #include <vector> using namespace std; int main() { int r, c; cin >> r >> c; vector<vector<int>> mat(r, vector<int>(c)); for (int i = 0; i < r; i++) { for (int j = 0; j < c; j++) { cin >> mat[i][j]; } } int x, y; cin >> x >> y; // 列号从1开始,转换为0基索引 x--; y--; for (int i = 0; i < r; i++) { swap(mat[i][x], mat[i][y]); } for (int i = 0; i < r; i++) { for (int j = 0; j < c; j++) { if (j > 0) cout << " "; cout << mat[i][j]; } cout << endl; } return 0; } ``` ## 📌 关键点说明 - 使用 `vector<vector<int>>` 存储矩阵,便于动态分配大小。 - `swap` 函数直接交换两列元素,时间复杂度为 O(r),整体效率高。 - 注意输入列号从 1 开始,需转换为 0 基索引。 - 输出格式严格保持每个元素之间一个空格,行尾无多余空格。 ######[AI问答 | 398点数解答 | 2026-08-09 22:30:45]
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)558
- C++ 实现:轻松找出 n 个整数中的第二小值(字节豆包 | 260点数解答 | 2026-02-07 21:19:29)90
- C++实现找出数组中第二小的值(字节豆包 | 526点数解答 | 2026-03-27 19:40:26)65
- 找出数组中第二小值的C++代码实现(字节豆包 | 696点数解答 | 2026-03-28 19:40:41)62
- C++实现数组特定位置最小值交换并输出指定元素(字节豆包 | 607点数解答 | 2026-04-04 19:31:04)69
- C++实现找出n个整数中第二小的值(字节豆包 | 361点数解答 | 2026-04-06 20:52:02)76
- Python求数组中第二小值的三种实现方法及对比分析(DeepSeek | 1323点数解答 | 2026-05-09 19:32:54)58
- C++入门:选择查找法求数组中第二小的值(DeepSeek | 1089点数解答 | 2026-05-09 19:33:39)56
- C++实现找出数组中第二小的值(字节豆包 | 594点数解答 | 2026-05-09 20:38:56)42
- C++ 实现找出 n 个整数中第二小的值(字节豆包 | 533点数解答 | 2026-05-23 20:50:33)51
- C++实现数组第二小值查找算法及代码解析(DeepSeek | 1159点数解答 | 2026-08-08 11:23:28)6
- Golang开发:解析JSON数据时数值默认类型及示例解析(百度文心 | 393点数解答 | 2023-11-09 18:13:06)398