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;
}