修改后的代码和运行结果如下(改动处见注释):
成功输出了最大最小值及其各自对应的行列下标,望采纳~
附修改后的代码:
#include <stdio.h>
int main() {
int a[3][5]={0},n,m,max,min,l1,l2,h1,h2;
printf("please input a[3][5]:\n");
for (n=0;n<3;n++) // 矩阵为3行,改为 n<3
for(m=0;m<5;m++) {
scanf("%d", &a[n][m]);
}
max = min = a[0][0];
h1 = l1 = h2 = l2 = 0; // 最大最小值的行列下标初始设为(0,0)
for (n=0;n<3;n++) // 矩阵为3行,改为 n<3
for (m=0;m<5;m++) {
if (a[n][m] > max) {
max = a[n][m];
h1 = n, l1 = m; // h1是行下标,l1是列下标,不要写反
}
else if (a[n][m] < min) {
min = a[n][m];
h2 = n, l2 = m;
}
}
printf("max=%d, 所在行为:%d, 所在列为:%d\n", max, h1, l1); // max也要输出
printf("min=%d, 所在行为:%d, 所在列为:%d\n", min, h2, l2); // min也要输出
return 0; // 要有返回值
}