要从5个人中选取2个人作为礼仪,其中每个人的身高范围为160-190,要求2个人的身高差值最小(如果差值相同的话,选取其中最高的两人),以升序输出两个人的身高。
Smpleinput:161 189 167 172188 Sample outPut: 188 189
思路: 先对着五个人排序,,然后用一个新的数组来保存之相邻之间的差值,选取差值最小的。
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
const int MAX =5;
int arr[MAX] ,arr_a[MAX-1]={0};
for(int i = 0 ;i<MAX;i++)
cin>>arr[i];
sort(arr ,arr+MAX);
int min= 30,dex ;
for(int i = 0 ;i<MAX-1;i++){
arr_a[i] = arr[i+1] -arr[i];
if(arr_a[i] < min){
min =arr_a[i];
dex =i;
}
}
cout<<arr[dex]<<" "<<arr[dex+1];
}