试题编号: | 201903-1 |
试题名称: | 小中大 |
时间限制: | 1.0s |
内存限制: | 512.0MB |
问题描述: | 如图 |
这题博主原以为是一道很简单的题,结果在四舍五入上出了不知道什么问题,按理说
说两个整数的平均值即便出现小数也只可能是0.5的形式,
结果直接除2.0通过不了,非得按严格的print的输出格式才能通过(%.1lf)
代码如下
#include <iostream>
using namespace std;
const int N = 100010;
int a[N];
int main() {
int n, minx, maxn, mid;
cin >> n;
for (int i = 0; i < n; i++) cin >> a[i];
if (a[0] > a[n - 1]) {
minx = a[n - 1];
maxn = a[0];
} else {
minx = a[0];
maxn = a[n - 1];
}
if (n % 2) {
mid = a[n / 2];
cout << maxn << ' ' << mid << ' ' << minx;
}
else {
mid = (a[n / 2] + a[n / 2 - 1]);
if (mid % 2)
printf("%d %.1lf %d", maxn, mid * 1.0 / 2, minx);
else
cout << maxn << ' ' << mid / 2 << ' ' << minx;
}
return 0;
}