ccf专题之201903-1小中大
首先附上题面
读题后解题思路
设立A[100001]
设一个n,记录输入多少个数。
最大值以及最小值的求法:
max(A[1],A[n])为最大值, min(A[1],A[n])为最小值
(因为题目上说保证有序,升序或者降序,就不用自己排序了)
中位数:
判断n为偶数还是奇数,若为奇数,则中位数为A[n/2+1]
,若为偶数,则中位数为(A[n/2]+A[n/2+1])/2; 此时还要判断
(A[n/2]+A[n/2+1])%2是否等于0。若不等于0,先强制转换为浮点数在除2并在输出是保留一位小数;若等于0直接除2。
代码
#include<iostream>
#include<algorithm>
#include<cmath>
#include<stdio.h>
using namespace std;
int A[100001];
int main()
{
int m;
int n;
int Max;
int Min;
int mid;
float mid2;
bool flag; //用于选择输出方式
while(cin>>n)
{
m=n; //m保留n的值
flag=true;
whil