|
发表于 2023-11-21 22:46:44
|
显示全部楼层
- #include <stdio.h>
- int main() {
- int i, j, m, n;
- int Array[10][10];
- scanf("%d%d", &m, &n);
- for (i = 0; i < m; i++) {
- for (j = 0; j < n; j++) {
- scanf("%d", &Array[ i][j]);
- }
- }
- int amax, amin, max = 0, min = 0, sum = 0;
- for (i = 0; i < m; i++) {
- amax = 0;
- amin = 0;
- for (j = 0; j < n; j++) {
- if (Array[ i][j] > Array[ i][amax]) {
- amax = j;
- }
- }
- for (j = 0; j < m; j++) {
- if (Array[j][amax] < Array[amin][amax]) {
- amin = j;
- }
- }
- if (i == amin) {
- if (amax == 0) {
- min = amin;
- max = amax;
- sum++;
- }
- }
- }
- if (sum == 0) {
- printf("None");
- } else {
- printf("Array[%d][%d]=%d", min, max, Array[min][max]);
- }
- }
复制代码
在原始代码中,存在两个问题。首先,在找到每行的最大值时,应该记录下标而不是值本身。其次,在找到每列的最小值时,应该使用 Array[j][amax] 而不是 Array[amin][amax] 。我已经对这两个问题进行了修复。 |
|