满分代码:
#include<iostream>
#include<bits/stdc++.h>
#include<math.h>
#define Eps 1e-6
using namespace std;
int main()
{
double a[100005];
int t;
scanf("%d",&t);
for(int i=1;i<=t;i++)
{
scanf("%lf",&a[i]);
}
if(a[2]-a[1]>0)
{
if(t%2==1)
{
printf("%.0lf %.0lf %.0lf",a[t],a[t/2+1],a[1]);
}
else
{
double average=(a[t/2]+a[t/2+1])/2;
if(average - (double)((int)average)<Eps)
printf("%.0lf %.0lf %.0lf",a[t],average,a[1]);
else
printf("%.0lf %.1lf %.0lf",a[t],average,a[1]);
}
}
else
{
if(t%2==1)
{
printf("%.0lf %.0lf %.0lf",a[1],a[t/2+1],a[t]);
}
else
{
double average=(a[t/2]+a[t/2+1])/2;
if(average - (double)((int)average) < Eps)
printf("%.0lf %.0lf %.0lf",a[1],average,a[t]);
else
printf("%.0lf %.1lf %.0lf",a[1],average,a[t]);
}
}
return 0;
}
注意:
水题,但是判断中位数的时候要判断是否是整数
前两次没有考虑到这个导致一次30分一次65分