以下是使用 Visual C++ 6.0 实现上述功能的代码: ```cpp #include <iostream> using namespace std; // 交换两行的函数 void swapRows(int arr, int row1, int row2, int cols) { for (int j = 0; j < cols; j++) { int temp = arr[row1][j]; arr[row1][j] = arr[row2][j]; arr[row2][j] = temp; } } // 找到矩阵中的最大元素和最小元素所在的行 void findMaxMinRows(int arr, int n, int& maxRow, int& minRow) { int maxVal = arr[0][0]; int minVal = arr[0][0]; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (arr[i][j] > maxVal) { maxVal = arr[i][j]; maxRow = i; } if (arr[i][j] < minVal) { minVal = arr[i][j]; minRow = i; } } } } int main() { int n; cout << "请输入一个大于 2 且小于 10 的整数 n: "; cin >> n; int arr = new int*[n]; for (int i = 0; i < n; i++) { arr[i] = new int[n]; } cout << "请输入 " << n << "×" << n << " 矩阵的数据: " << endl; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { cin >> arr[i][j]; } } int maxRow = 0, minRow = 0; findMaxMinRows(arr, n, maxRow, minRow); swapRows(arr, maxRow, minRow, n); cout << "交换后的矩阵: " << endl; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { cout << arr[i][j] << " "; } cout << endl; } // 释放内存 for (int i = 0; i < n; i++) { delete[] arr[i]; } delete[] arr; return 0; } ``` 这段代码首先让用户输入 `n` 和矩阵的数据,然后找到最大和最小元素所在的行,进行交换,并输出交换后的矩阵。最后记得释放动态分配的内存。 [2024-11-02 10:23:57 | AI写代码神器 | 648点数解答]