编辑代码

#include <stdio.h>
#define N 3//N为学生数
#define M 4//M为科目数
struct Student {
    int num;
    char name[50];
    int score[4];
}stu[N];
int main () {
     void input(struct Student stu[N]);
     void print(struct Student stu[N]);
     input(stu);
     print(stu);
	return 0;
}
void input(struct Student stu[N]){
    printf("请输入%d个学生的成绩和信息\n",N);
    for(int i=0;i<N;i++){
        int averge=0;
        printf("请输入第%d个学生的信息:\n",i+1);
        printf("num:");
        scanf("%d",&stu[i].num);
        printf("name");
        scanf("%s",stu[i].name);
        for(int j=0;j<M-1;j++){
            printf("第%d项成绩",j+1);
            scanf("%d",&stu[i].score[j]);
            averge=averge+stu[i].score[j];
        }
        stu[i].score[M-1]=averge/(M-1);//将平均分存贮
    }
}
void print(struct Student stu[N]){
    int max=0;
    for(int i=0;i<N;i++){
        if(max<stu[i].score[M-1]){
            max=stu[i].score[M-1];//记录所有成员中的最好成绩
        }
    }
    for(int j=0;j<N;j++){
        if(max=stu[j].score[M-1]){
            printf("num:%d\n name:%s\n",stu[j].num,stu[j].name);
            for(int k=0;k<M;k++){
            printf("第%d项成绩",k+1);
            printf("%d\n",stu[j].score[k]);
            }
        printf("平均成绩为:%d",stu[j].score[M-1]);
        }
    }
}