输入一个3行4列的二维数组,求每行的最大值以及每列的平均值。

#include<stdio.h>
int main()
{
    int a[3][4],i,j,max1,max2,max3;
    double avg1=0, avg2=0, avg3=0 ;
    for (i = 0; i < 3; i++)
    for (j = 0; j < 4; j++)scanf("%d",& a[i][j]);
    max1 = a[0][0], max2 = a[1][0], max3 = a[2][0];
    for (i = 0; i < 4; i++)
    {
        if (a[0][i] > max1)max1 = a[0][i];
    }
    for (i = 0; i < 4; i++)
    {
        if (a[1][i] > max1)max1 = a[1][i];
    }
    for (i = 0; i < 4; i++)
    {
        if (a[2][i] > max1)max1 = a[2][i];
    }
    printf("%d %d %d\n",&max1,&max2,&max3);
}

只写了这些,但是最大值求不出来,想请教一下怎么写

后面max1改为max2和max3,然后打印最大值的&max1,&max2,&max3改为max1,max2,max3,修改了一下如下:

#include<stdio.h>
int main()
{
    int a[3][4],i,j,max1,max2,max3;
    double avg1=0, avg2=0, avg3=0 ;
    int sum1=0,sum2=0,sum3=0;
    for (i = 0; i < 3; i++)
        for (j = 0; j < 4; j++)
            scanf("%d",& a[i][j]);
            
    max1 = a[0][0], max2 = a[1][0], max3 = a[2][0];
               
    for (i = 0; i < 4; i++)
    {
        if (a[0][i] > max1)
            max1 = a[0][i];
        sum1+=a[0][i];
    }
    for (i = 0; i < 4; i++)
    {
        if (a[1][i] > max1)
            max2 = a[1][i];
        sum2+=a[1][i];
    }
    for (i = 0; i < 4; i++)
    {
        if (a[2][i] > max1)
            max3 = a[2][i];
        sum3+=a[2][i];
    }
    avg1=(double)sum1/4;
    avg2=(double)sum2/4;
    avg3=(double)sum3/4;
    printf("max1=%d,max2=%d,max3=%d\n",max1,max2,max3);
    printf("avg1=%lf,avg2=%lf,avg3=%lf\n",avg1,avg2,avg3);
    
    return 0;
}
 

img