80分
可能错误·:
忽略n为偶数是中位数四舍五入 (保留一位小数!
n为1时 三个值一样
#include <stdio.h>
int a[100000];
int main()
{
int n,i,j,fab,m,max,min,middle;
float b;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
//只有一个数的情况
if(n==1)
{
printf("%d %d %d",a[0],a[0],a[0]);
return 0;
}
if(a[0]<a[1])//升序
{
min=a[0];
max=a[n-1];
}
else //降序
{
min=a[n-1];
max=a[0];
}
if((n-1)%2==0)
{
m=(n-1)/2;
middle=a[m];
}
else
{
m=(n-1)/2;
if(a[m]%2==a[m+1]%2)
middle=(a[m]+a[m+1])/2;
else
{
b=(float)(a[m]+a[m+1])/2;
printf("%d %.1f %d",max,b,min);
return 0;
}
}
printf("%d %d %d",max,middle,min);
return 0;
}