题目:输入某班学生某门课的成绩(最多不超过40人),当输入为负值时,表示输入结束,用函数编程统计成绩高于平均分的学生人数。
要求按如下原型编写统计成绩在全班平均分及平均分之上的学生人数
int GetAboveAver(int score[], int n);
**输入要求:"%d"
**输出要求:
“Total students are %d\n”
“Average score is %d\n”
“Students of above average is %d\n”
#include <stdio.h>
#define N 40
int GetAboveAver(int score[], int n);
void main()
{
int score[N], m, n;
n = -1; //1
do{
n++;
scanf("%d", &score[n]);//1
}while (score[n] >= 0); //e2
m = GetAboveAver(score, n); //2
printf("Students of above average is %d\n", m);
}
int GetAboveAver(int score[], int n)
{
int i, sum, aver,count;
count = 0;//1
sum = 0;//1
for (i=0; i<n; i++)//1
{
sum += score[i];//2
}
aver=sum/n;//1
for (i=0; i<n; i++)//1
{
if (score[i] >= aver)//2
count++;//1
}
printf("Total students are %d\n",n);
printf("Average score is %d\n",aver);
return count;//1
}