题解
【入门】去掉x个最高最低分后的平均分
1 条题解
-
0
#include<bits/stdc++.h> using namespace std; int main(){ int n,x,s=0;//n:分数总数,x:要去掉的个数,s:累加器 double avg;//avg:平均分 int a[10000]; cin>>n>>x; for(int i=0;i<n;i++){//填入数据 cin>>a[i]; } for(int i=1;i<n;i++){ //冒泡排序,为了找到x个最大最小值的位置 for(int j=0;j<=n-1-i;j++){ if(a[j]>a[j+1]){ swap(a[j],a[j+1]); } } } for(int i=x;i<n-x;i++){ //求出去掉x个最大最小值后的和 s+=a[i]; } avg=s*1.0/(n-2*x);//求平均数 cout<<fixed<<setprecision(1)<<avg;//保留一位小数 return 0; }
- 1