问题:1231 - 考试成绩的分布情况
类型:数组基础
题目描述:
期末考试结束,小明的语文老师想知道,这次考试的成绩分布情况,主要计算如下几个数据:平均分、≥ 平均分的总人数、 < 平均分的总人数,请你写程序帮助小明的语文老师来计算一下!
输入:
第一行,一个整数 n 代表有 n 个人的成绩( n≤100 );
第二行, n 个人的语文成绩。
输出:
3 个值,分别代表平均分、≥ 平均分的总人数、< 平均分的总人数,请注意,平均分保留
1 位小数!
样例:
输入:
5
100 98 97 99 90
输出:
96.8 4 1
完整代码如下:
#include<iostream>
using namespace std;
int main(){
//一、分析问题
//已知:考试的成绩分布情况
//未知:平均分、≥平均分的总人数exceedP、 < 平均分的总人数n-exceedP
//二、数据定义
int n,a[1000],exceedP=0;
double ave=0;
//三、数据输入
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
ave+=a[i];
}
//四、数据计算
ave/=n;
for(int i=0;i<n;i++){
if(a[i]*1.0>ave){
exceedP++;
}
}
//五、输出结果
printf("%.1f\t",ave);
cout<<exceedP<<" "<<n-exceedP;
return 0;
}