用c语言定义两个4行4列的整型二维数组构成的矩阵a,b,手工输入数据到矩阵中,求各矩阵的最小元素,和最小元素的下标
时间: 2024-02-21 20:00:23 浏览: 69
对于n2的矩阵,找出其中n个最小的数,且来自不同的行和列(C语言)
可以使用以下代码实现:
```c
#include <stdio.h>
int main() {
int a[4][4], b[4][4];
int min_a, min_b;
int min_a_i, min_a_j, min_b_i, min_b_j;
int i, j;
// 输入矩阵a
printf("Input matrix a:\n");
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
scanf("%d", &a[i][j]);
}
}
// 输入矩阵b
printf("Input matrix b:\n");
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
scanf("%d", &b[i][j]);
}
}
// 求矩阵a的最小元素及其下标
min_a = a[0][0];
min_a_i = 0;
min_a_j = 0;
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
if (a[i][j] < min_a) {
min_a = a[i][j];
min_a_i = i;
min_a_j = j;
}
}
}
// 求矩阵b的最小元素及其下标
min_b = b[0][0];
min_b_i = 0;
min_b_j = 0;
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
if (b[i][j] < min_b) {
min_b = b[i][j];
min_b_i = i;
min_b_j = j;
}
}
}
// 输出结果
printf("min_a: %d, index: (%d, %d)\n", min_a, min_a_i, min_a_j);
printf("min_b: %d, index: (%d, %d)\n", min_b, min_b_i, min_b_j);
return 0;
}
```
注意,上面的代码中没有进行输入数据的安全性检查,如果输入的数据不合法,可能会导致程序崩溃。在实际应用中,应该对输入数据进行安全性检查。
阅读全文