计算总成绩和每门课程总成绩,为什么计算出错

#include <stdio.h>
#define N 5
int main(void)
{
int max, min;
int a[N][N] = { 0 };
int i, j;
printf("请输入五门课程的成绩");
for (i = 0; i < N; i++) {
printf("\nEnter row %d: ", i + 1);
for (j = 0; j < N; j++) {
scanf("%d", &a[i][j]);
}
}
float ava;
int sum=0 ;
for (i = 0; i < N; i++) {
for (j = 0; j < N; j++) {
sum += a[i][j];

    }
    ava = (float)sum / N;
    printf("\n每个学生总成绩:%d", sum);
    printf("\n平均分%f, ava");
}


for (j = 0; j < N; j++) {
    for (i = 0; i < N; i++) {
        sum += a[i][j];
        
    }
    ava = (float)sum /N;
    printf("\n每门课程的平均分:%f ", ava);

}
for (j = 0; j < N; j++) {
    max = a[0][j];
    min = a[0][j];
    for (i = 0; i < N; i++) {
        if (max < a[i][j]) max = a[i][j];
        if (min > a[i][j]) min = a[i][j];

    }
    printf("最大值%d和最小值为%d", max, min);

    return 0;
}

}

1,printf 变量在引号外面。printf("\n平均分%f, ava"); --》printf("\n平均分%f", ava);
2,每门课程的平均分 sum 需要重置,--》sum=0;
3,最后最大值最小值 for循环只执行了一次 } 结束的位置不对


for (i = 0; i < N; i++) 
{
     int sum=0 ;
     for (j = 0; j < N; j++) 
         sum += a[i][j];
    ava = (float)sum / N;
    printf("\n第%d个学生总成绩:%d", i+1,sum);
    printf("\n平均分%.1f", ava);
}