CCF-CSP-2019-03-1小中大

题目链接: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
*/

上一篇:CCF试题清单


下一篇:CCF CSP201409-3 字符串匹配(C++)