AcWing 3272. 小中大
原题链接
简单
作者:
英特耐雄纳尔
,
2021-03-15 11:18:13
,
所有人可见
,
阅读 824
好理解法
#include<bits/stdc++.h>
using namespace std;
const int N = 100010;
int n;
int a[N];
int main()
{
cin>>n;
for(int i=0;i<n;i++) scanf("%d",&a[i]); //数据1e5级别,选择scanf输入
sort(a,a+n);
cout<<a[n-1]<<' ';
if(n%2)
{
cout<<a[n/2]<<' ';
}
else
{
double res=(a[n/2-1]+a[n/2])/2.0;
if(res==(int)res) cout<<(int)res<<' '; //判断一个double的小数部分为0
else printf("%.1lf ",res);
}
cout<<a[0];
return 0;
}
乘2法
#include<bits/stdc++.h>
using namespace std;
const int N = 100010;
int n;
int a[N];
int main()
{
cin>>n;
for(int i=0;i<n;i++) scanf("%d",&a[i]); //数据1e5级别,选择scanf输入
sort(a,a+n);
cout<<a[n-1]<<' ';
if(n%2)
{
cout<<a[n/2]<<' ';
}
else
{
int temp=(a[n/2-1]+a[n/2]);
if(temp%2==0) cout<<temp/2<<' ';
else printf("%.1lf ",temp/2.0);
}
cout<<a[0];
return 0;
}
printf(“%.1lf 自带四舍五入吗?我看怎么是6才开始进位