编辑代码

#include<bits/stdc++.h>
using namespace std;
int maxn(int a[],int i,int j)
{
    if(i==j)
        return a[i];
    if(i==j-1)
        return a[i]>a[j]?a[i]:a[j];
    int mid=(i+j)/2;
    // 将数据分成两组,分别求每一组的最大值
    int s=maxn(a,i,mid);
    int s1=maxn(a,mid,j);
    return s>s1?s:s1;
}
int minn(int a[],int i,int j)
{
    if(i==j)
        return a[i];
    if(i==j-1)
        return a[i]<a[j]?a[i]:a[j];
    int mid=(i+j)/2;
    // 将数据分成两组,分别求每一组的最小值
    int s=minn(a,i,mid);
    int s1=minn(a,mid,j);
    return s<s1?s:s1;
}
int main()
{
    int n;
    int *a=new int[9];
    while(~scanf("%d",&n))
    {
        for(int i=0;i<n;i++)
            scanf("%d",&a[i]);
        printf("最大值:%d \n",maxn(a,0,n-1),"最小值:%d \n",minn(a,0,n-1));
    }
}