43 平均值问题
作者: wanyan时间限制: 1S章节: 一维数组
问题描述 :
从键盘上输入一个整数n,之后输入n 个实数,输出这n个实数的平均值,并统计平均值以上(含平均值) 的实数个数。
输入说明 :
你的程序需要从标准输入设备(通常为键盘)中读入多组测试数据。每组测试数据数据占两行,第一行表示输入数据的个数(大于零,小于等于80),第二行是输入的数据,其中每个数据都是实数。
输出说明 :
对每组测试数据,你的程序需要向标准输出文件(通常为启动该程序的终端)输出一个答案。每个答案占一行。说明:计算结果小数点后保留六位。
输入范例 :
9
12.2 34.0 4.8 23.0 34.9 45.3 18.0 3.0 11.0
输出范例 :
20.688889 4
#include<stdio.h>
#include<stdlib.h>
int main(){
int n,i,count;
float sum;
double avg;
while(scanf("%d",&n)!=EOF){
count=0;
sum=0.0;
float *p=(float*)malloc(n*sizeof(float));
for(i=0;i<n;i++){
scanf("%f",&p[i]);
sum+=p[i];
}
avg=sum/n;
for(i=0;i<n;i++){
if(p[i]>=avg){
count++;
}
}
printf("%.6f %d\n",avg,count);
free(p);
}
return 0;
}