如何编写函数统计学生平均分,并按平均分高低打印人名?

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
typedef struct{
    char sName[10];
    int stuId;
    int score[4];
}SStuInfo;

int i;

bool cmp(SStuInfo a, SStuInfo b){
    int sum1 = a.score[0]+a.score[1]+a.score[2]+a.score[3];
    int sum2 = b.score[0]+b.score[1]+b.score[2]+b.score[3];
    return sum1 > sum2;
}

int PrintStudentNameByScore(SStuInfo *pSStuInfo){
    sort(pSStuInfo, pSStuInfo+i, cmp);
    for(int j = 0; j < i; j++, pSStuInfo++)
        printf("%s\n", pSStuInfo->sName);
}

int main(){
    char name[10];
    SStuInfo SStuInfo[40];
    for(i = 0; ; i++){
        printf("请输入姓名:");
        scanf("%s", name);
        if(strcmp(name, "null") == 0)
            break;
        strcpy(SStuInfo[i].sName, name);
        printf("请输入学号:");
        scanf("%d", &SStuInfo[i].stuId);
        printf("请输入四门课成绩:");
        for(int j = 0; j < 4; j++){
            scanf("%d", &SStuInfo[i].score[j]);
        }
        printf("\n");
    }
    
    PrintStudentNameByScore(SStuInfo);
}