#include <stdio.h> int main() { int a; int arr[100][100]; scanf("%d", &a); int n; for (int i = 0; i < a; i++) { for (int j = 0; j < a; j++) { scanf("%d", &n); arr[i][j] = n; } } int max=0; int min = 10000; int mini; int maxj; for (int i = 0; i < a; i++) { if (arr[0][i] > max) { maxj = i; } } for (int i = 0; i < a; i++) { if (arr[i][maxj] > min) { mini = i; } } printf("%d %d", mini, maxj); }帮我改正代码
时间: 2023-06-18 12:03:02 浏览: 245
修改后的代码如下:
```c
#include <stdio.h>
int main()
{
int a;
int arr[100][100];
scanf("%d", &a);
for (int i = 0; i < a; i++)
{
for (int j = 0; j < a; j++)
{
scanf("%d", &arr[i][j]);
}
}
int max = arr[0][0];
int min = arr[0][0];
int mini = 0;
int maxj = 0;
for (int i = 0; i < a; i++)
{
for (int j = 0; j < a; j++)
{
if (arr[i][j] > max)
{
max = arr[i][j];
maxj = j;
}
if (arr[i][j] < min)
{
min = arr[i][j];
mini = i;
}
}
}
printf("%d %d", mini, maxj);
}
```
主要修改:
1. 在输入数组时,将 `&` 与数组名分开,改为 `&arr[i][j]`。
2. 在查找最大值和最小值时,需要同时记录其所在的行和列。修改了相应的变量名和判断条件。
3. 在查找最大值时,需要将 `maxj` 初始化为 0,否则可能会出现未定义的结果。
4. 在查找最小值时,需要将 `min` 初始化为 `arr[0][0]`,否则可能会出现未定义的结果。
阅读全文