zoukankan      html  css  js  c++  java
  • HDU--2014

    青年歌手大奖赛_评委会打分

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
    Total Submission(s): 57800    Accepted Submission(s): 28862


    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
     

    Author
    lcy

    #include <iostream>
    #include <stdlib.h>
    #include <stdio.h>
    
    using namespace std;
    
    int main()
    {
    	int n;
    	double a[105];
    	memset(a,0,105);
    	while (cin >>n)
    	{
    		for (int i=0; i<n; i++)
    		{
    			cin >>a[i];
    		}
    		double max=a[0], min=a[0];
    		for (int i=0; i<n; i++)
    		{
    			if (a[i]<min)
    				min = a[i];
    			if (a[i]>max)
    				max = a[i];
    		}
    		double num=0;
    		for (int i=0; i<n; i++)
    		{
    			if (a[i]!=max && a[i]!=min)
    			{
    				num = num+ a[i];
    			}
    		}
    		double result;
    		result= (double) num / (n-2);
    		printf("%.2lf
    ",result);
    	}
    	return 0;
    }

    另外在discuss里面看到的比较精简的

    #include <stdio.h>
    #include <stdlib.h>
    int cmp(const void *a,const void *b)
    {
    	return *(double *)a > *(double *)b ? 1 : -1;
    }
    int main()
    {
    	int n,i;
    	double a[100],aver;
    	while(scanf("%d",&n)!=EOF)
    	{
    		aver=0;
    		for(i=0;i<n;i++)
    		{
    			scanf("%lf",&a[i]);
    			aver+=a[i];
    		}
    		qsort(a,n,sizeof(a[0]),cmp);
    		aver=(aver-a[0]-a[n-1])/(n-2);
    		printf("%.2lf
    ",aver);
    	}
    }


  • 相关阅读:
    UML第一次编程作业
    css文本属性
    css文字属性
    Qobject设置对象名称和属性
    m3u8
    easyUI tree jQuery
    easyUI layout
    正则表达式
    Spring mvc 数据验证框架注解
    blur和click事件的先后顺序问题
  • 原文地址:https://www.cnblogs.com/Tovi/p/6194912.html
Copyright © 2011-2022 走看看