首页 > 代码库 > 杭电2014——青年歌手大奖赛_评委会打分
杭电2014——青年歌手大奖赛_评委会打分
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——青年歌手大奖赛_评委会打分
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。