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