CCF 1026 表演打分

1026. 表演打分 (Standard IO)

时间限制: 1000 ms  空间限制: 262144 KB  具体限制  

题目描述

在一次运动会方队表演中,学校安排了十名老师进行打分。对于给定的每个参赛班级的不同打分(百分制整数),按照去掉一个最高分、去掉一个最低分,再算出平均分的方法,得到该班级的最后得分。

输入

一行10个用空格隔开的正整数,表示十名老师的打分。

输出

输出该班级的最终得分,答案保留三位小数。

样例输入

90 89 92 90 93 95 88 90 89 88

样例输出

90.125

问题分析

设置一个min,max用于存储最小值和最大值,然后遍历数组,把最大的值放到max,最小的值放到min,最终求总和减去min和max求平均数,这一步要注意问题的输出要求为浮点数,而前面的计算都是用整数,所以在这里要做一下转换。

程序:

#include <iostream>
using namespace std;

int main()
{
	int a[10],min,max,total;
	float avr;
	for(int i=0;i<10;i++)
		scanf("%d",&a[i]);
	if(a[0]>a[1])
	{
		min = a[1];max=a[0];
	}
	else 
	{	max = a[1];min=a[0];
	}
	total = a[0] + a[1];
	for(int i=2;i<10;i++)
	{
		if(a[i]<min)
			min = a[i];
		if(a[i]>max)
			max = a[i];
		total += a[i];
	}
	avr = (total - min -max)/8.0;
	printf("%.3f",avr);
}

猜你喜欢

转载自blog.csdn.net/tainys/article/details/84983642
今日推荐