首页 > 其他 > 详细

杭电2014——青年歌手大奖赛_评委会打分

时间:2014-11-19 01:31:21      阅读:371      评论:0      收藏:0      [点我收藏+]



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>
int main()
{
	int n,i;
	double z,x,sum,a,b;
	while (scanf("%d",&n)!=EOF)
	{
		sum=0;
		z=0;
		for (i=0;i<n;i++)
		{
			scanf("%lf",&x);
			sum = x+sum;
		}
		z = sum/n;
		printf("%.2lf\n",z);
	}
	return 0;
}
*/
#include<stdio.h>
int main()
{ 
	int n,j,t,i;  
	double f,a[100],sum;// 数组f和变量sum声明为double型的
	while(scanf("%d",&n)!=EOF)
	{
		for(i=0;i<n;i++) 
			scanf("%lf",&a[i]);
		for(i=0;i<n-1;i++)
			for(j=0;j<n-i-1;j++)  
				if(a[j]<a[j+1])
				{
					t=a[j];  
					a[j]=a[j+1]; 
					a[j+1]=t;
				}
				sum=0.0;//每次sum都要初始化为0.0
				for(i=1;i<n-1;i++) 
				{
					sum+=a[i];
				}
				f=sum/(n-2);
				printf("%.2lf\n",f);
	}
	return 0;
}


这段排序的代码值得好好学习;两个循环,就可以直接排序了。很好用。

for(i=0;i<n-1;i++)
	for(j=0;j<n-i-1;j++)  
		if(a[j]<a[j+1])
		{
			t=a[j];  
			a[j]=a[j+1]; 
			a[j+1]=t;
		}

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

杭电2014——青年歌手大奖赛_评委会打分

原文:http://blog.csdn.net/jiangpengna/article/details/41253329

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!