C++实现 5×5 矩阵行交换及代码解析
以下是一个用 C++ 实现的程序,用于交换 5×5 矩阵的第 `n` 行和第 `m` 行,并输出交换后的矩阵: ```cpp #include <iostream> using namespace std; const int ROWS = 5; const int COLS = 5; // 交换矩阵的第 n 行和第 m 行 void swapRows(int matrix[ROWS][COLS], int n, int m) { for (int i = 0; i < COLS; i++) { int temp = matrix[n][i]; matrix[n][i] = matrix[m][i]; matrix[m][i] = temp; } } // 打印矩阵 void printMatrix(int matrix[ROWS][COLS]) { for (int i = 0; i < ROWS; i++) { for (int j = 0; j < COLS; j++) { cout << matrix[i][j] << " "; } cout << endl; } } int main() { int matrix[ROWS][COLS] = { {1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}, {11, 12, 13, 14, 15}, {16, 17, 18, 19, 20}, {21, 22, 23, 24, 25} }; int n, m; cout << "请输入要交换的两行的行号(0 - 4),用空格分隔:"; cin >> n >> m; // 检查输入的行号是否合法 if (n < 0 || n >= ROWS || m < 0 || m >= ROWS) { cout << "输入的行号不合法,请输入 0 到 4 之间的整数。" << endl; return 1; } // 交换第 n 行和第 m 行 swapRows(matrix, n, m); // 输出交换后的矩阵 cout << "交换后的矩阵:" << endl; printMatrix(matrix); return 0; } ``` ### 代码解释: 1. **常量定义**: - `ROWS` 和 `COLS` 分别定义了矩阵的行数和列数,这里均为 5。 2. **`swapRows` 函数**: - 该函数接受一个 5×5 的矩阵和两个行号 `n` 和 `m` 作为参数。 - 通过一个循环遍历每一列,交换第 `n` 行和第 `m` 行对应列的元素。 3. **`printMatrix` 函数**: - 该函数用于打印矩阵,通过两层循环遍历矩阵的每一个元素,并将其输出。 4. **`main` 函数**: - 定义一个 5×5 的矩阵,并初始化。 - 提示用户输入要交换的两行的行号。 - 检查输入的行号是否合法,如果不合法则输出错误信息并终止程序。 - 调用 `swapRows` 函数交换指定的两行。 - 调用 `printMatrix` 函数输出交换后的矩阵。 ### 开发建议: - **错误处理**:代码中已经对输入的行号进行了合法性检查,但可以进一步扩展错误处理,例如处理输入非整数的情况。 - **可扩展性**:如果需要处理不同大小的矩阵,可以将矩阵的行数和列数作为参数传递给函数,而不是使用常量。 - **用户体验**:可以添加更多的提示信息,让用户更清楚地了解程序的使用方法。 ######[AI写代码神器 | 903点数解答 | 2026-06-26 14:11:41]
- C++ 实现:轻松计算两个矩阵的乘法并输出结果(字节豆包 | 381点数解答 | 2025-12-03 19:20:23)192
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)487
- C++ 实现:轻松找出 n 个整数中的第二小值(字节豆包 | 260点数解答 | 2026-02-07 21:19:29)54
- C++实现找出数组中第二小的值(字节豆包 | 526点数解答 | 2026-03-27 19:40:26)36
- 找出数组中第二小值的C++代码实现(字节豆包 | 696点数解答 | 2026-03-28 19:40:41)32
- C++实现数组特定位置最小值交换并输出指定元素(字节豆包 | 607点数解答 | 2026-04-04 19:31:04)38
- C++实现找出n个整数中第二小的值(字节豆包 | 361点数解答 | 2026-04-06 20:52:02)43
- Python求数组中第二小值的三种实现方法及对比分析(DeepSeek | 1323点数解答 | 2026-05-09 19:32:54)30
- C++入门:选择查找法求数组中第二小的值(DeepSeek | 1089点数解答 | 2026-05-09 19:33:39)26
- C++实现找出数组中第二小的值(字节豆包 | 594点数解答 | 2026-05-09 20:38:56)19
- C++ 实现找出 n 个整数中第二小的值(字节豆包 | 533点数解答 | 2026-05-23 20:50:33)21
- Golang开发:解析JSON数据时数值默认类型及示例解析(百度文心 | 393点数解答 | 2023-11-09 18:13:06)346