- HDU - 2014 青年歌手大奖赛_评委会打分
本博主(不是很白的小白)汇集了三种方法,从简到难,循序渐进,大家各取所取吧,当然最好全部都会啦。
话不多说,直接上代码。
#include<stdio.h>
int main()
{
int n,a,sum;
while (scanf ("%d", &n) != EOF)
{
sum = 0;
int mi = 0;
int ma = 0;
for (int i = 0; i < n; i++)
{
scanf ("%d", &a);
sum += a;
if (i == 0)//这几步是为了得到最大最小值
mi = ma = a;
else if (mi > a)
mi = a;
else if (ma < a)
ma = a;
}
printf ("%.2f\n", 1.0 * (b - mi - ma) / (n - 2) );
}
return 0;
}
这是一位博主写的非常巧妙的一种。直接就得出最大最小值了。非常适合像我的这种小白。
按这查看这位博住的真货
但人是要前进的,接下来用到数组,不会的要开始学习了哦。
#include<cstdio>
#include<algorithm>
using namespace std;
int main()
{
int n,a[100],b;
while(scanf ("%d", &n)!=EOF)
{
b=0 ;//初始化
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
b+=a[i];
}
sort(a,n+a);
printf("%.2f\n",1.0*(b-a[0]-a[n-1])/(n-2));//1.0是为了使商变成实型,有小数
}
return 0;
}
记住sort的头文件是algorihm,而且要定义std哦