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]交换。最后,程序会输出原始矩阵和交换后的矩阵。