2842: 练52.1 输出成绩
内存限制:64 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:27
解决:10
题目描述
给定$n$个小朋友的数学成绩,求这$n$个小朋友的平均成绩,以及输出所有高于平均成绩的数学成绩(按输入的顺序输出)。
输入
第一行一个整数$n$,接下来$n$行每行一个小于等于$100$的整数($n\le 1000$)。
输出
第一行是$n$个成绩的平均值,保留$3$位小数。
接下来若干行输出高于平均分的成绩,每行一个数。
接下来若干行输出高于平均分的成绩,每行一个数。
样例输入 复制
5
10
20
30
40
60
样例输出 复制
32.000
40
60
提示
#include<bits/stdc++.h> using namespace std; int n,a[1005],sum; double p ; int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; sum+=a[i]; } p=sum*1.0/n; printf("%.3lf\n",p); for(int i=1;i<=n;i++){ if(a[i]>p) cout<<a[i]<<endl; } return 0; }
#include<bits/stdc++.h> using namespace std; vector<int> v; int n,a[1010],x; double ans; int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>x; v.push_back(x); ans+=x; } ans/=n; cout<<fixed<<setprecision(3)<<ans<<endl; for(vector<int>::iterator it=v.begin();it!=v.end();++it){ if(*it>ans) cout<<*it<<endl; } return 0; }