输入考试成绩,求总分和平均分

从键盘输入n个学生的考试成绩(每个学生有m门课程),统计并输出各学生的总分和平均分,以及所有学生各科的总分和平均分,不知道哪里不对,缺了什么

  1. #include <stdio.h>
    #include <stdlib.h>
    #define M 50
    #define N 10

int main()
{
int score[M][N],i,j;
int s[M]; //存放课程总分
int m,n;
printf("学生人数:");
scanf("%d",&m);
printf("课程数量:");
scanf("%d",&n);
for(i=0;i<m;i++){
for(j=0;j<n;j++){
scanf("%d",&score[i][j]);
}
}
printf("\n");

printf("学号\t语文\t数学\t英语\t总分\n");
for(i=0;i<m;i++){
printf("%2d\t",i+1); //知识输出学号,学号没有存储在数组中
s[i]=0;
for(j=0;j<n;j++){
printf("%3d\t",score[i][j]);
s[i]+=score[i][j]; //计算总分
}
printf("%d\n",s[i]);
}
return 0;
}

修改如下,供参考:

#include <stdio.h>
#include <stdlib.h>
#define M 50
#define N 10
int main()
{
    int score[M][N], i, j;
    int s[M], sum;//存放课程总分
    int m, n;
    printf("学生人数:");
    scanf("%d", &m);
    printf("课程数量:");
    scanf("%d", &n);
    for (i = 0; i < m; i++) {
        for (j = 0; j < n; j++) {
            scanf("%d", &score[i][j]);
        }
    }
    printf("\n");

    printf("学号\t");
    for (i = 0; i < n; i++)
        printf("课目%d\t", i + 1);
    printf("总分\t平均分\n");

    for (i = 0; i < m; i++) {
        printf("%2d\t", i + 1); //输出学号,学号没有存储在数组中
        s[i] = 0;
        for (j = 0; j < n; j++) {
            printf("%3d\t", score[i][j]);
            s[i] += score[i][j]; //计算总分
        }
        printf("%d\t%.2f\n", s[i],(float)s[i]/n);
    }

    for (j = 0; j < n; j++) {  //所有学生各科的总分和平均分
        for (i = 0, sum = 0; i < m; i++) {
            sum += score[i][j];
        }
        printf("\t%d %.2f", sum,(float)sum / m);
    }
    return 0;
}

请具体说明存在的疑问

#include <stdio.h>
#include <stdlib.h>
#define M 50
#define N 10

int main()
{
int score[M][N],i,j;
int s[50]={0}; //存放某个学生的课程总分
int sum=0,temp=1;
//int s[i]=0;
int m,n; //n个人,每人m科
printf("学生人数:");
scanf("%d",&n);
printf("课程数量:");
scanf("%d",&m);
for(i=0;i<n;i++){
for(j=0;j<m;j++){
scanf("%d",&score[i][j]);
//printf("\n");
}
}

printf("\n");    
printf("学号 语文 数学 英语 总分\n");

//输出单个学生的总分 
for(i=0;i<n;i++)
{        
    printf("学号%d:",temp++);        //学号 
    for(j=0;j<m;j++)
    {
        
        printf("%2d ",score[i][j]);
        sum += score[i][j];
    }
    printf("%3d\n",sum);      //总分     
    sum=0;
}
 


return 0;

}