44 统计高于平均分人数
作者: Turbo时间限制: 1S章节: 一维数组
问题描述 :
输入某班学生某门课的成绩(最多不超过40人),当输入为负值时,表示结束输入,用函数编程统计成绩高于平均分的学生人数并输出。
输入说明 :
输入若干非负实数,表示学生成绩,成绩之间以一个空格分隔。分数的最后输入一个负数,表示输入结束(该负数不是分数)。分数最多40个。
输出说明 :
输出一个整数,表示高于平均分的人数。行首与行尾无多余空格。
输入范例 :
60 70.5 71.5 -1
输出范例 :
2
#include <stdio.h>
#include <stdlib.h>
int main()//不要忘了return一个值
{
float *a=(float *)malloc( sizeof(float)*40 );
for(int i=0;i<40;i++)
a[i]=0;
float n,avg;
float count=0;
int num=0;
int times=0;//高于平均人次
while(scanf("%f",&n) != EOF && n>=0)
{
a[num]=n;
num++;
count+=n;
}
avg=count/num;
for(int j=0;j<num;j++)
if(a[j]>avg)
times++;
printf("%d",times);
return 0;
}