(4)从键盘输入2行3列数,求每行的最大值和每列的最大值,和所有数的最大值; #include<stdio.h> int main() int a[2][3],ij,max1,max2,max; for(i=0;i<2;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); max=a[0][0]; for(i=0;i<2;i++) max1=a[i][O]; for(j=0;j<3;j++) XXXXXX printf("%d\t".max1). for(j=0;j<3;j++) max2=a[0][j]; for(i=0;i<2;i++) xXXXX printf("%d\t",max2); printf("%d",max); return 0;
时间: 2024-03-12 07:44:48 浏览: 17
这段代码有一些小问题,我来帮你修改一下:
```
#include<stdio.h>
int main() {
int a[2][3], i, j, max1, max2, max;
for(i = 0; i < 2; i++) {
for(j = 0; j < 3; j++) {
scanf("%d", &a[i][j]);
}
}
// 求每行的最大值
for(i = 0; i < 2; i++) {
max1 = a[i][0];
for(j = 0; j < 3; j++) {
if(a[i][j] > max1) {
max1 = a[i][j];
}
}
printf("第 %d 行的最大值为:%d\n", i + 1, max1);
}
// 求每列的最大值
for(j = 0; j < 3; j++) {
max2 = a[0][j];
for(i = 0; i < 2; i++) {
if(a[i][j] > max2) {
max2 = a[i][j];
}
}
printf("第 %d 列的最大值为:%d\n", j + 1, max2);
}
// 求所有数的最大值
max = a[0][0];
for(i = 0; i < 2; i++) {
for(j = 0; j < 3; j++) {
if(a[i][j] > max) {
max = a[i][j];
}
}
}
printf("所有数的最大值为:%d\n", max);
return 0;
}
```
我添加了注释来说明每一步的操作,让代码更加清晰易懂。注意,最后求所有数的最大值需要遍历整个数组,所以需要将这个操作放在最后。