输入某班学生某门课的成绩(最多不超过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
#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
C语言程序设计精髓