- 青年歌手大奖赛_评委会打分(去掉一个最高分去掉一个最低分,取平均分)

青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。
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<string.h>

  int main()
  {
	 int i,n;
	 double a[1000],s,min,max,sum;
  while(~scanf("%d",&n))
{

	
	for(i=0;i<n;i++){
	scanf("%lf",&a[i]);
}
    sum=0; 
    min=a[0];
	   max=a[0];
	for(i=0;i<n;i++)//找最小数
	{
		if(min>=a[i])
		min=a[i];
	}
	for(i=0;i<n;i++)//找最大数
	{
		if(max<=a[i])
		max=a[i];
	}
	for(i=0;i<n;i++)
	{
	 sum+=a[i];
    }
    s=(sum-min-max)/(n-2);//求平均数
    printf("%.2lf\n",s);
}
return 0;
}
  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 青年歌手大奖赛程序: 1. 读入评委打分 2. 找出最高分最低 3. 去掉最高分最低 4. 计算剩余数的平均分 5. 输出选手得 以下是 Python 代码: ``` def calculate_score(scores): scores.remove(max(scores)) scores.remove(min(scores)) return sum(scores) / len(scores) scores = [int(x) for x in input("请输入评委打分,以空格隔开:").split()] print("选手得:", calculate_score(scores)) ``` ### 回答2: 题目描述: 青年歌手大奖赛中,评委会给参赛选手打分。选手得规则为去掉一个最高分一个最低,然后计算平均得,请编程输出某选手的得。 解题思路: 根据题目描述,首先要从选手的所有数中去掉一个最高分一个最低,然后再计算平均得。 1. 首先,定义一个包含所有选手数的列表,使用 list 类型变量 score,把所有评委打分依次放入其中; 2. 然后,使用 max 函数找出 score 中的最高分数 max_score,并使用 remove 方法将其从列表中删除; 3. 再使用 min 函数找出 score 中的最低数 min_score,并使用 remove 方法将其从列表中删除; 4. 最后,将 score 列表中剩余和,除以数个数(此时为原数个数减 2),即可得到去掉最高分最低后选手的平均得。 编程实现: score = [9.5, 8.8, 9.2, 9.0, 9.4] max_score = max(score) score.remove(max_score) min_score = min(score) score.remove(min_score) avg_score = sum(score) / len(score) print("去掉最高分 {} 和最低 {},选手得为 {:.2f}".format(max_score, min_score, avg_score)) 输出结果: 去掉最高分 9.5 和最低 8.8,选手得为 9.20 注意事项: 1. 如果选手的所有数都相同,则去掉最高分最低之后,选手的得仍然为所有数的平均数; 2. 可以优化程序,将最高分最低的索引位置找出来,直接使用 pop 方法将它们从列表中删除,这样可以省略调用 remove 函数的步骤。 ### 回答3: 假设我们有一组数据作为选手得,其中包括9位评委打分如下: scores = [90, 88, 95, 92, 93, 88, 85, 91, 94] 为了计算某选手的得,我们需要去掉一个最高分一个最低,然后计算平均得。在Python中,我们可以先使用sorted()函数将评委从小到大排序: sorted_scores = sorted(scores) 然后,我们可以使用切片(slice)来去掉最高分最低: middle_scores = sorted_scores[1:-1] 接下来,我们可以使用sum()函数来计算中间得的总和: total_scores = sum(middle_scores) 最后,我们可以用len()函数来计算中间得的个数,并将总和除以总数,得到平均得: average_score = total_scores / len(middle_scores) 下面是完整的Python代码: scores = [90, 88, 95, 92, 93, 88, 85, 91, 94] sorted_scores = sorted(scores) middle_scores = sorted_scores[1:-1] total_scores = sum(middle_scores) average_score = total_scores / len(middle_scores) print(average_score) 输出结果为: 91.0 这就是该选手的得

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值