为什么max的值不合适呢?可以帮我解答一下吗?

#include
#include

int main()
{
int i,j;
int a[3][4];
int min=a[0][0], max=a[0][0];
double sum=0,avg;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
scanf("%d",&a[i][j]);
sum=sum+a[i][j];
}
}
avg=sum/4;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
if(a[i][j]>max)
{
max=a[i][j];
}
if(a[i][j]
{
min=a[i][j];
}
}
}
printf("max=%d,min=%d,avg=%.2f\n",max,min,avg);
return 0;
}

int min=a[0][0], max=a[0][0];
这时候因为a数组还没有初始化,所以min和max值都是随机值
需要数组输入后再赋值。
平均值也不对啊,怎么除以4呢,应该除以12

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i,j;
    int a[3][4];
    int min,max;
    double sum=0,avg;
    for(i=0;i<3;i++)
    {
        for(j=0;j<4;j++)
        {
            scanf("%d",&a[i][j]);
            sum=sum+a[i][j];
        }
    }
    min=max=a[0][0];
    avg=sum/12;
    for(i=0;i<3;i++)
    {
        for(j=0;j<4;j++)
        {
            if(a[i][j]>max)
            {
                max=a[i][j];
            }
            if(a[i][j]<min)
            {
                min=a[i][j];
            }
        }
    }
    printf("max=%d,min=%d,avg=%.2f\n",max,min,avg);
    return 0;
}

int min=a[0][0], max=a[0][0];
初始化赋值要放到a有值之后啊,要么你把min设置成一个非常大的数,把max设置成一个非常小的数,不要让它一开始是个随机数啊

max的初值不要写成和min的一样的,这样写比较不出最终的结果。
你max初值可以改成a[2][3],但不要和min的一样。