zoukankan      html  css  js  c++  java
  • CCF CSP 201903-1 小中大

    #include <iostream>
    #include <iomanip>
    #include <stdio.h>
    using namespace std;
    int main() {
        int N;
        cin >> N;
        long* arr = new long[N];
        for (int i = 0; i < N; i++) {
            cin >> arr[i];
        }
    
        long max = arr[0], min = arr[N-1];
        if(max < min) swap(max, min);
    
        if(N == 1) cout << arr[0] << " " << arr[0] << " " << arr[0];
        float mid;
        if(N%2) mid = arr[N/2];
        else {
            mid = (arr[N/2-1] + arr[N/2])/2.0;
        }
        //cout << mid-int(mid) << endl;
        cout << max << " ";
        cout << setiosflags(ios::fixed) << setprecision(mid-(int)mid < 0.01?0:1) << mid << " ";
        cout << min << endl;
        return 0;
    }
    
    

    学习到的知识:

    1、注意极端情况,比如只有一个数

    2、做除法时除数一定要是带小数点的,如果除的是int,会“收敛”到整数,那样就没有小数了!!!!!

    3、如何取小数点:

    num-(int)num	
    

    4、如何设置输出格式:

    cout << setiosflag(ios::fixed) << setprecision(2) << mid << " ";//小数点后两位
    

    5、一定要读题!!!

    • ​ 没有注意到题目本身就有“升序或降序”,这么说明不需要排序

    • 还是本身就有“升序或降序”,这么说如果大小颠倒需要swap

  • 相关阅读:
    阅读笔记《梦断代码》其一
    第一次冲刺(第九天)
    第一次冲刺(第八天)
    第一冲刺阶段(第七天)
    第一冲刺阶段(第六天)
    第一冲刺阶段(第五天)
    MySQL数据库半同步复制
    MySQL事物
    MySQL字符编码
    MySQL用户授权
  • 原文地址:https://www.cnblogs.com/huangming-zzz/p/11365846.html
Copyright © 2011-2022 走看看