感想:
按理说这道题思路并不难,很容易写出来。但是我花了几乎一上午的时间改错。在格式上的错误太难找了。最后根据其他人的代码比对才发现,在判断中位数是否为整数上出了点问题。导致分数一直不是满分。
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int min,n,max;
cin>>n;
int a[n];
double mid;
int m=n/2;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
min=a[0];
max=a[n-1];
if(min>max)
swap(max,min);
if(n%2==0)
mid=(a[m]+a[m-1])/2.0;
else
mid=a[m];
cout<<max<<" ";
if(mid-int(mid)==0)//判断mid是否为整数
cout<<fixed<<setprecision(0)<<mid;
else
cout<<fixed<<setprecision(1)<<mid;
cout<<" "<<min<<endl;
return 0;
}