【代码详解】
//疑问点:四舍五入保留1位小数咋搞
#include<iostream>
#include<algorithm>
using namespace std;
int n;
int a[100010];
int main()
{
cin>>n;
for(int i=0;i<n;i++)
cin>>a[i];
sort(a,a+n);//自然按降序排列
cout<<a[n-1]<<" ";
if(n%2==1)
cout<<a[n/2];
else
{
double res=(a[n/2]+a[n/2-1])/2.0;//一定要double 要除2.0,不然没有小数
if(res==(int)res)cout<<(int)res;//输出转换为整数的
else
printf("%.1lf",res);//保留一位小数的形式,记得用空格隔开,是.lf的形式
}
cout<<" "<<a[0];
return 0;
}
【做题感悟】
此题对基础不牢固的真的很容易错好吗,具体坑点我在注释有写到