如何用键盘输入方式为其赋值,并把矩阵中的最小元素和a[0][0]进行交换,其他位置的元素都不动?

1.有一个3×4的矩阵a,用键盘输入方式为其赋值,并把矩阵中的最小元素和a[0][0]进行交换,其他位置的元素都不动。 [程序思路提示:] (1)扫描数组a,找出最小元素所在的下标。 (2)把最大元素

以下是用C++实现的程序代码:

#include <iostream>
using namespace std;

int main() {
    int a[3][4];
    int min_val = INT_MAX; // 初始最小值为最大整数
    int min_i = 0, min_j = 0; // 记录最小值的下标

    // 用键盘输入方式为矩阵a赋值
    cout << "请输入3x4矩阵a的元素:" << endl;
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 4; j++) {
            cin >> a[i][j];
            if (a[i][j] < min_val) { // 找出最小值
                min_val = a[i][j];
                min_i = i;
                min_j = j;
            }
        }
    }

    // 输出原始矩阵
    cout << "原始矩阵a为:" << endl;
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 4; j++) {
            cout << a[i][j] << " ";
        }
        cout << endl;
    }

    // 交换最小值和a[0][0]
    int temp = a[0][0];
    a[0][0] = min_val;
    a[min_i][min_j] = temp;

    // 输出交换后的矩阵
    cout << "交换后的矩阵a为:" << endl;
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 4; j++) {
            cout << a[i][j] << " ";
        }
        cout << endl;
    }

    return 0;
}

运行程序后,会提示用户输入3x4矩阵a的元素,依次输入即可。程序会扫描数组a,找出最小元素的下标,并将最小元素和a[0][0]交换。最后,程序会输出原始矩阵和交换后的矩阵。