输入某班学生某门课的成绩(最多不超过40人),当输入为负值时,表示输入结束,用函数编程统计成绩高于平均分的学生人数。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。

#include 
#define N 40
int Average(int score[], int n); 
int ReadScore(int score[]);      
int GetAboveAver(int score[], int n);
int main()
{
    int score[N], m, n;
    n = ReadScore(score);           /* 输入成绩,返回学生人数 */
    printf("Total students are %d\n", n);
    m = GetAboveAver(score, n);    /* 统计成绩在平均分及其上的学生人数 */   
    if (______________) printf("Students of above average is %d\n", m);
    return 0;
}
 
/* 函数功能:若n>0,则计算并返回n个学生成绩的平均分,否则返回-1 */
int Average(int score[], int n) 
{
    int i, sum = 0;
    for (i=0; i     {
        sum += score[i];
    }
    return  ______________; 
}
 
/* 函数功能:输入学生某门课成绩,当输入成绩为负值时,结束输入,返回学生人数 */
int ReadScore(int score[])  
{
    int i = -1;         
    do{
            i++;
            printf("Input score:");
            scanf("%d", &score[i]);
       }while (__________);   
    return _______;                     
}
 
/* 函数功能:若n>0,则统计并返回成绩在平均分及平均分之上的学生人数,否则返回-1 */
int GetAboveAver(int score[], int n)
{
    int   i, count = 0, aver;
    aver = ______________;  /* 计算并打印平均分 */
    if (aver == -1) return -1;
    printf("Average score is %d\n", aver);
    for (i=0; i     {
        if (score[i] >= aver)  count++;
    }
    return __________;
}

A、第12行:    m != -1
第24行:    n>0 ? sum/n : -1
第35行:    score[i] >= 0
第36行:    i
第43行:    Average(score, n)
第50行:    count
B、第12行:    m == -1
第24行:    n>0 ? sum/n : -1
第35行:    score[i] >= 0
第36行:    i
第43行:    Average(score, n)
第50行:    i
C、第12行:    m != -1
第24行:    n>0 ? -1 : sum/n
第35行:    score[i] >= 0
第36行:    i
第43行:    Average(n,score)
第50行:    count
D、第12行:    m == -1
第24行:    n<=0 ? sum/n : -1
第35行:    score[i] >= 0
第36行:    score
第43行:    Average(score, n)
第50行:    aver