zoukankan      html  css  js  c++  java
  • C++的sort排序法

    引用hduoj2014题:

    Problem Description
    青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。
     

    Input
    输入数据有多组,每组占一行,每行的第一个数是n(2<n<=100),表示评委的人数,然后是n个评委的打分。
     

    Output
    对于每组输入数据,输出选手的得分,结果保留2位小数,每组输出占一行。
     

    Sample Input
    3 99 98 97 4 100 99 98 97
     

    Sample Output
    98.00 98.50

    源码:

    #include <stdio.h>
    #include<algorithm>//bits/stdc++.h
    using namespace std;
    bool cmp(int a,int b)
    {
        return a>b;//降序排列 ,若返回a<b,则升序(此时可省略该函数) 
    }
    int main()
    {
        int n,temp,sum;
        int a[100];
        float d;
        while(~scanf("%d",&n))
        {
            d=0;
            sum=0;
            int a[100];
            for(int i=0;i<n;i++)
            {
                scanf("%d",&a[i]);            
            }
             sort(a,a+n,cmp);//默认升序排列,可省略“,cmp”,若降序排列则务必加上
            for(int i=1;i<=(n-2);i++)
            {
                sum+=a[i];
            }
            d=sum/(n-2.0);
            printf("%.2f
    ",d);
        }
        return 0;
    }

  • 相关阅读:
    【BZOJ】4011: [HNOI2015]落忆枫音
    【BZOJ】1187: [HNOI2007]神奇游乐园
    【CERC2007】机器排序
    【NOI2004】郁闷的出纳员
    【USACO】奶牛跑步2
    【HNOI2004】宠物收养所
    【NOI2009】植物大战僵尸
    Xn数列
    骨牌覆盖
    【JSOI2008】球形空间产生器
  • 原文地址:https://www.cnblogs.com/cnlik/p/11851922.html
Copyright © 2011-2022 走看看