检查并改正c语言代码:本题目要求读入M(最大为10)行N(最大为15)列个元素,找出其中最大的元素,并输出其行列值。 输入格式: 输入在第一行中给出行数m和列数n。 接下来输入m*n个整数。 输出格式: 输出最大值的行号,列号,值。 输入样例: 2 3 1 2 3 4 5 6 输出样例: 最大值为1行2列的6 1,2,6#include<stdio.h> int main() { int m,n,i,j; scanf("%d %d",&m,&n); int a[10][15]; for(i=0;i<m;i++) for(j=0;j<n;j++) {scanf("%d",&a[i][j]);} int k,max,l; max=a[0][0]; for(k=0;k<m;k++) for(l=0;l<n;l++) {if(a[k][l]>max) max=a[k][l]; break; } printf("%d %d %u",k,l,a[k][l]); }
时间: 2024-01-31 13:03:23 浏览: 83
改正后的代码如下:
```c
#include <stdio.h>
int main() {
int m, n, i, j;
scanf("%d %d", &m, &n);
int a[10][15];
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
scanf("%d", &a[i][j]);
}
}
int max = a[0][0], max_i = 0, max_j = 0;
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
if (a[i][j] > max) {
max = a[i][j];
max_i = i;
max_j = j;
}
}
}
printf("%d,%d,%d", max_i + 1, max_j + 1, max);
return 0;
}
```
修改说明:
1. 在输入时需要为两个 for 循环加上大括号,以保证在循环内部正确执行多条语句;
2. 在寻找最大值时需要记录最大值所在的行列号,以便输出;
3. 输出的时候需要将行列号加 1,以符合题目要求。
阅读全文