酷代码 AI
菜单
服务商
DeepSeek字节豆包
更多选项

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]

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