#include <stdio.h>
#include <limits.h>
void MinMax(int arr[],int n,int &max,int &min)
{
if(n == 0)
return;
if(min > arr[n-1])
min = arr[n-1];
if(max < arr[n-1])
max = arr[n-1];
MinMax(arr,n-1,max,min);
}
int main()
{
int n;
scanf("%d",&n);
int arr[1000];
for(int i = 0;i < n;i++)
{
scanf("%d",&arr[i]);
}
int min = INT_MAX;
int max = INT_MIN;
MinMax(arr,n,max,min);
printf("%d\n",min);
for(int j=0;j<n;j++)
{
if(arr[j] == min)
arr[j] = max;
}
int min2 = INT_MAX;
MinMax(arr,n,max,min2);
printf("%d\n",min2);
}
使用递归算法求出给定数组中的最小的两个数(最小的数和第二小的数)
最新推荐文章于 2023-04-02 19:59:19 发布