题目链接:http://118.190.20.162/view.page?gpid=T89
坑点:如果中位数不为整数则四舍五入保留一位小数。
代码:
#include<bits/stdc++.h>
using namespace std;
vector<int >a;
int main (){
ios::sync_with_stdio(false);
int n;
int num;
int l=INT_MAX,m,r=INT_MIN;
cin>>n;
for(int i=0;i<n;i++){
cin>>num;
a.push_back(num);
l=min(l,num);
r=max(r,num);
}
if(n%2){
m=a[n/2];
cout<<r<<" "<<m<<" "<<l;
}
else {
double atm=a[n/2]+a[n/2-1];
atm*=0.5;
if(atm==1.0*(int)(atm))
cout<<r<<" "<<(int)(atm)<<" "<<l;
else printf("%d %.1f %d",r,atm,l);
}
return 0;
}
/*
3
-1 2 4
4
-2 -1 2 4
4
1 1 1 1
*/