有一个班,3个学生,各学4门课,计算总平均分以及第n个学生的成绩。

//输出结果不对,不知道哪错了


#include<stdio.h>
int main()
{
    float a[3][5],save=0.0,sum=0.0;
    int i,j,n;
    float (*p)[5]; 
    p=a;
    for(i=0;i<3;i++)
    {
        printf("请输入第%d个学生的四门课程的成绩:\n",i+1);
        for(j=0;j<4;j++)
            scanf("%f",p[i]+j);
    }
    for(i=0;i<3;i++)
        for(j=0;j<4;j++)
            *(p[i]+4) += *(p[i]+j); //把第i个人的 总成绩 给a[i][4]
    for(i=0;i<3;i++)
        save+= *(p[i]+4)/3; //每行的a[i][5]都除3相加。 
    printf("这三个人的平均总成绩为:%f\n",save);
    printf("请输入n:\n");
    scanf("%d",&n);
    printf("第%d个学生的总成绩为:%d\n",n,*(p[n-1]+4)); //输出第i行的最后一列
    return 0;
}

 
#include<stdio.h>
int main()
{
    float a[3][5],save=0.0,sum=0.0;
    int i,j,n;
      
    for(i=0;i<3;i++)
    {
        printf("请输入第%d个学生的四门课程的成绩:\n",i+1);
        for(j=0;j<4;j++){
            scanf("%f",&a[i][j]);//第i个人的第j科成绩 
            sum+=a[i][j];//总分 
        }
            
    }
 save=sum/3/4;//总分,三个人,每人四科,所以除3再除4 
    printf("这三个人的平均总成绩为:%f\n",save);
    printf("请输入n:\n");
    scanf("%d",&n);
    float ans=0;//第n个学生总成绩
    for(int i=0;i<4;i++){
        ans+=a[n-1][i];//第n个同学每科成绩相加
    } 
    printf("第%d个学生的总成绩为:%f\n",n,ans);
    return 0;
}